我的数据读取器读取我想从读取器拆分结果并取第二个数字的行。所以例如数字是42我想要的2.我怎样才能做到这一点很容易。有大约一百万种我见过的方式,但没有一个非常简单。先谢谢你!简单的方法来拆分两个数字
ld.ScaleGroup = (ScaleGroup)reader["ScaleGroup"];
string[] split = ld.ScaleGroup.ToString().Split(?);
我的数据读取器读取我想从读取器拆分结果并取第二个数字的行。所以例如数字是42我想要的2.我怎样才能做到这一点很容易。有大约一百万种我见过的方式,但没有一个非常简单。先谢谢你!简单的方法来拆分两个数字
ld.ScaleGroup = (ScaleGroup)reader["ScaleGroup"];
string[] split = ld.ScaleGroup.ToString().Split(?);
你并不需要使用Split()
如果你只是想在第2个字符。只写:
string str = ld.ScaleGroup.ToString();
char secondDigit = str[1];
确保str
确实至少有2个字符,当然。
编辑:如果你想要它作为一个字符串,请参阅D Stanley的回答使用Substring()
。
Split()
用于包含由分隔符(或字符)分隔的令牌序列的字符串。例如,使用分隔符,
分割"a,b,c"
将返回3个字符串的阵列"a"
,"b"
和"c"
。
如果总是希望你可以做
ld.ScaleGroup.ToString().Substring(1,1);
但对于数< 10第二位? > 100?
或者,如果你总是希望那些数字(如123 - > 3)然后取数模10:
int ones = ld.ScaleGroup % 10;
+1特别是'%' - 不知道是什么将数字转换为字符串以对其执行一些计算的点... –
什么是ScaleGroup?你不能让读者阅读它。如果它是一个'int',你应该使用'reader.GetInt32(reader.GetOrdinal(“ScaleGroup”))',那么你可以使用'ToString'将它转换为'string',它有一个索引器来访问一个char。 –
看看'string.ToCharArray()' – ja72
@ ja72:为什么'ToCharArray',他可以直接访问一个字符:'char second =“42”[1];' –