使用char
数据类型时,有任何理由应该使用int.TryParse
int.TryParse(inputChar.ToString(), NumberStyles.Integer,
CultureInfo.InvariantCulture, out curNum)
VS
inputChar - '0'
检查结果是否在0-9
之间?
答案 0 :(得分:1)
如果您想检查char
是否为数字,您应该使用Char.IsDigit
:
if (Char.IsDigit(inputChar))
{
// ...
}
答案 1 :(得分:0)
嗯, I 总是使用TryParse
0
的字符代码不是数字最小的情况。在那种情况下'9' - '0' != 9;
。这是可能是。而且因为我太懒了谷歌这个我在安全方面使用TryParse
: - )答案 2 :(得分:-1)
仅关于代码清晰度。 int.TryParse
明确说明其意图 - 如果可能,我想将字符串解析为数字。它相对快速和安全。
如果您发现自己陷入TryParse
,您可以随时编写自己的解析。在某些情况下,它可以节省大量时间。例如,我在解析DBF时已经完成了这样的实现,否则会导致从解析字节到字符串以及字符串到整数的大量开销。直接从流转换为int节省了大量的分配和时间。
毕竟,如果你不想使用内置方法,为什么要使用.NET呢?为什么不在机器代码中写一切? :))