在C#控制台应用程序中,我想将int转换为字符串,然后检查新字符串中的字符,并将它们转换为int。这就是我到目前为止所做的:
int charNum = 0;
int value = 111
string valueStr = value.ToString();
int numVariant = valueStr.ToCharArray()[charNum];
然后我添加它来输出它们的值
Console.WriteLine(numVariant + " " + valueStr + " " + charNum);
Console.ReadLine();
奇怪的是它会返回
49 111 0
而我期望它返回的是
1 111 0
所以我假设将char转换为int出了问题,有关如何解决此问题的任何建议吗?
答案 0 :(得分:1)
替换int numVariant = valueStr.ToCharArray()[charNum];
同
int numVariant = int.Parse(valueStr[charNum].ToString());
否则它的ASCII值为1
答案 1 :(得分:1)
49是'1的ascii十进制值的字符。它存储它,因为您将值赋给int32并且编译器自动转换值。只需更改:
int numVariant = valueStr.ToCharArray()[charNum];
致:
char numVariant = valueStr.ToCharArray()[charNum];