当前位置:编程学习 > C#/ASP.NET >>

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

请问在代码中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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,