有谁可以帮我解释一下这几行代码的作用和意思
请问在代码中char[] resultArr = new string('0', 0x10).ToCharArray(); 这句是什么意思?请问在代码中OffByStart方法是什么意思,为什么要这样返回?
以下是代码:
public static string MachineToRegister(string machineCode)
{
if (machineCode.Length < 0x10)
{
return string.Empty;
}
string SoftName = AssemblyProduct;
int SnStrLen = SoftName.Length;
int McStrLen = machineCode.Length;
char[] resultArr = new string('0', 0x10).ToCharArray();
for (int i = 0; i < 0x10; i++)
{
char ch1 = machineCode[OffByStart(McStrLen, 9, i)];
char b = machineCode[OffByStart(McStrLen, 5, i)];
char c = machineCode[OffByStart(McStrLen, 2, i)];
char x1 = SoftName[OffByStart(SnStrLen, 8, i)];
char x2 = SoftName[OffByStart(SnStrLen, 1, i)];
long y = (long) ((((x1 * b) + x2) + c) % ((ulong) 10L));
resultArr[i] = GetLastHexOfInt(y);
}
string result = string.Empty;
foreach (char chr in resultArr)
{
result = result + chr.ToString();
}
return result;
}
public static int OffByStart(int strLen, int start, int offset)
{
int result = (start + offset) % strLen;
if (result == 0)
{
result = strLen - 1;
}
return result;
}
--------------------编程问答-------------------- char[] resultArr = new string('0', 0x10).ToCharArray();
声明一个char类型的数组,‘0’为只想unicode字符串的指针,0x10数组的起始位置,ToCharArray()转换成一个字符数组
OffByStart:自定义的一个方法,通过取余计算数组里面的索引找出索引对应的值。
我的理解是这么多,不知道对楼主有没有帮助。 --------------------编程问答-------------------- char[] resultArr = new string('0', 0x10).ToCharArray();
表示定义一个char数组,初始化有16个元素,每个元素的值都是'0'这个字符。 --------------------编程问答-------------------- new string('0', 0x10) ->'0000000000000000',也就是16个0
--------------------编程问答-------------------- 再请教一下
char[] timeArr = timeStr.ToCharArray();
timeArr[0] = (char) (timeArr[0] - '\x0002');
timeArr[1] = (char) (timeArr[1] - '\x0006');
timeArr[2] = (char) (timeArr[2] - '\x0004');
timeArr[3] = timeArr[3];
timeArr[4] = (char) (timeArr[4] - '\x0005');
timeArr[5] = timeArr[5];
timeArr[6] = (char) (timeArr[6] - '\x0003');
timeArr[7] = timeArr[7];
这句(char) (timeArr[0] - '\x0002'); 是什么意思呀?
补充:.NET技术 , C#