當我嘗試運行下面的代碼時,它總是吐出十六進制表示,而不是整數表示。我在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