有谁可以帮我解释一下这几行代码的作用和意思

zengzhimin1980 2009-07-27 12:18:58
请问在代码中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;
}
...全文
92 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
纯纯璐璐 2009-07-27
  • 打赏
  • 举报
回复
char[] resultArr = new string('0', 0x10).ToCharArray();
声明一个char类型的数组,‘0’为只想unicode字符串的指针,0x10数组的起始位置,ToCharArray()转换成一个字符数组
OffByStart:自定义的一个方法,通过取余计算数组里面的索引找出索引对应的值。
我的理解是这么多,不知道对楼主有没有帮助。
zengzhimin1980 2009-07-27
  • 打赏
  • 举报
回复
再请教一下

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'); 是什么意思呀?
lovvver 2009-07-27
  • 打赏
  • 举报
回复
new string('0', 0x10) ->'0000000000000000',也就是16个0
wdgphc 2009-07-27
  • 打赏
  • 举报
回复
char[] resultArr = new string('0', 0x10).ToCharArray();

表示定义一个char数组,初始化有16个元素,每个元素的值都是'0'这个字符。

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧