C# -> 字符串中的 7,转换为 int returns 55?

C# -> 7 in a string, convert to int returns 55?

晚上...修改一些C#编码问题///

10个随机数 7319018271 ....所以我把数字放在括号里,把它变成一个字符串... 用 [10] 创建了一个数组...想法是遍历字符串并将每个字符串 var 转换为 int 并添加到 myArray...问题是...为什么 7 return 为 55?

谢谢

   var Numbers = "7319018271";

        int[] myArray = new int[10];

        for(int i = 0; i < Numbers.Length; i++)
        {
            myArray[i] = Numbers[Convert.ToInt32(i)];
        }

        int test = myArray[0];

为了解释 55,那是 字符 7.

的 ASCII 码

这里的代码问题是 Convert.ToInt32 放错了地方。当前,您正在将 iint)转换为 int。另一个问题是将 char 传递给 Convert.ToInt32 仍然会导致 55,因此您需要先将其转换为 string。解决这两个问题后,我们得到以下结果:

myArray[i] = Convert.ToInt32(Numbers[i].ToString());