我有这个代码,它获取字符串中'['的索引。然后它从字符串中的下一个字符创建一个整数,在本例中我假设它是'9'。但是value
设置为57?
string text = "Red Onyx : Text 1 - [9]";
int index = text.IndexOf("[");
int value = Convert.ToInt16(text[index+1]);
我尝试过只做文本[索引],文本[索引-1]和文本[索引+2]
答案 0 :(得分:4)
text[index+1]
会返回一个字符并将其转换为Int16
将返回其57
9
的ASCII值。
您可以使用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()
如果您要将结果存储在Convert.ToInt16
或Int32
int