我只是想知道使用try-catch块检查条件和if语句之间的最佳实践是什么?例如,尝试在循环中低于列表的范围:
List<int> foo = new List<int>();
for(int cpt=1; cpt<=10; i++)
{
if (cpt > foo.Count) foo.Add(cpt);
Console.WriteLine(foo[cpt]);
}
但是我们可以通过使用try-catch来实现:
List<int> foo = new List<int>();
int bar = 0;
for(int cpt=1; cpt<=10; i++)
{
try
{
Console.WriteLine(foo[cpt]);
}
catch(ArgumentOutOfRangeException)
{
foo.Add(cpt);
}
}
因此,在此示例中,显然显然,if语句更好,因为即使我们超出范围,它也能够显示foo[cpt]
,但是在另一种情况下,try-catch块可以更有效率吗?