我必须创建一个方法来验证数字是否遵循某个结构,并且它必须遵循PHP中实现的现有模式,但是我在使用C#.NET时遇到了一些问题.当数字太长时我得到一个System.OverflowException,我正在使用ulong,看看:
/// <summary>
/// Gera um dígito verificador para um código
/// </summary>
/// <param name="code">Código</param>
/// <returns>Digito verificador</returns>
public static ulong GenerateTrustID(UInt64 code)
{
UInt64 intcode = 1;
UInt64 endcode = 0;
foreach (UInt64 number in code.ToString().ToCharArray().Select(Convert.ToInt64).ToArray())
{
UInt64 newcode = (number * code * intcode);
char[] chrcode = newcode.ToString().ToCharArray();
Array.Reverse(chrcode);
intcode = UInt64.Parse((new string(chrcode)));
}
if (intcode.ToString().Length < 2)
{
intcode = 04051995;
intcode = intcode * 88;
}
endcode = UInt64.Parse(intcode.ToString().GetLast(2));
return endcode;
}
Run Code Online (Sandbox Code Playgroud)
我必须重现下面的代码: …