当我尝试运行以下代码时,它总是吐出十六进制表示,而不是整数表示。我在 MSDN 上找到的大多数示例都说这应该有效。我错过了什么?
var stringBuilder = new StringBuilder("8");
int j = 0;
foreach (char item in stringBuilder.ToString())
{
j = Convert.ToInt32(item); //returns 38, need return to be 56
}
编辑
我应该明确表示我知道它返回十六进制值的区别。我正在将值输出到一个文件,在那个文件中,它仍然显示十六进制值,而不是整数,所以我认为它与调试环境没有任何关系。
edit2 看起来像是 PEBKAC 问题。查看写入文件的代码,它正在使用 .toString("X") 方法,将其更改为十六进制值。它在我的调试环境中是十六进制的事实让我感到困惑。
最佳答案
int 既不是十六进制也不是十进制。这只是一个数字。您的调试器是否设置为显示整数的十六进制值?
关于c# - 将char转换为整数表示c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5247877/