问题1:
我正在处理文本文件并将它们格式化为正确的格式以使用它们的数据。问题是,如果一行以数字开头,它实际上应该在它上面的第一行有一个名字(或一组字母)。所以我想知道测试行中的第一个字符是否更快,通过解析它并查看它是否不会失败来查看它是否为int,或者执行char.IsLetter以查看它是否是字母字符?我假设在一个失败的解析中存在开销,即使是在尝试中包围,并且大多数行都以字母开头,所以我不确定速度。
问题2:
如果char.IsLetter更快,那么处理某些行开头出现的空白字符(“”)的最简单方法是什么?我知道int.Parse处理它们,所以如果那是第一个字符,就很难弄清楚如何处理它。
答案 0 :(得分:1)
对我来说最好的方法是:
if(Char.IsDigit(str.TrimStart(' ').FirstOrDefault()))
{
}
try...catch
的开销超过上述方法。
我想最好的方法就是确定这两种方法,并用秒表来包围调用以测量每种方法的时间。我不认为差异很大。