当我尝试运行下面的代码时,它总是吐出十六进制表示,而不是整数表示。我在MSDN上找到的大多数例子都表示这应该起作用。我错过了什么?将char转换为整数表示c#
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”)方法,将其更改为十六进制值。在我的调试环境中它是十六进制的这一事实让我感到困惑。
你的代码给出了'56'。 – SLaks 2011-03-09 15:21:11
当你说'吐出'你是在谈论检查调试器中的值?如果是这样关闭十六进制编码。 – Nick 2011-03-09 15:22:59
如果您使用调试器看到的结果,改变调试器不显示为十六进制。 – vcsjones 2011-03-09 15:23:32