我有這個代碼,它獲取'['在字符串中的索引。然後它會從字符串中的下一個字符創建一個整數,我假設在這個例子中是'9'。但是value
正在設置爲57?字符串[索引]不工作,因爲我會承擔
string text = "Red Onyx : Text 1 - [9]";
int index = text.IndexOf("[");
int value = Convert.ToInt16(text[index+1]);
我試圖做的只是文字[指數],文[指數-1],和文本[指數+2]
我有這個代碼,它獲取'['在字符串中的索引。然後它會從字符串中的下一個字符創建一個整數,我假設在這個例子中是'9'。但是value
正在設置爲57?字符串[索引]不工作,因爲我會承擔
string text = "Red Onyx : Text 1 - [9]";
int index = text.IndexOf("[");
int value = Convert.ToInt16(text[index+1]);
我試圖做的只是文字[指數],文[指數-1],和文本[指數+2]
text[index+1]
會回到你的字符並將其轉換爲Int16
將返回其ASCII值爲57
爲9
。
您可以使用char.GetNumericValue
:
int value = (int) char.GetNumericValue(text[index + 1]);
或使用char.GetNumericValue
第二個重載這需要串和索引,如:
int value = (int) char.GetNumericValue(text,index + 1);
或者
int value = Convert.ToInt16(text[index + 1] +""); //explicitly make it string "9"
//or simpler text[index + 1].ToString()
也沒有必要如果您打算將結果存儲在中,請使用或int
+1。我只是打字。你比我快。你也可以做'Convert.ToInt16(text.SubString(index + 1,1))'或'Convert.ToInt16(text [index + 1] .ToString())' – Nick
http://www.asciitable.com/ 57(整數)是「9」的ASCII值。 「9」是一個不是整數的數字。 – Plutonix