C#:对'的代码审查;续';在捕捉块内部进行循环
下面是我的代码,如果try块中出现异常,我需要继续循环C#:对'的代码审查;续';在捕捉块内部进行循环,c#,C#,下面是我的代码,如果try块中出现异常,我需要继续循环 for (int i = 0; i < doc.Length; i++) { name = doc[i].ToString(); try { if (name != "") { name=name.ToString().Substring(12); break; } } catch{ continue
for (int i = 0; i < doc.Length; i++)
{
name = doc[i].ToString();
try
{
if (name != "")
{
name=name.ToString().Substring(12);
break;
}
}
catch{
continue;
}
}
for(int i=0;i
如果我在代码中的任何地方出错,请告诉我。请检查性能。
提前感谢。不需要
继续。它将自动继续。不需要继续。它将自动继续。如果可以避免,则不需要异常处理:
for (int i = 0; i < doc.Length; i++)
{
name = doc[i].ToString();
if(name != null && name.Length >= 12)
{
name = name.Substring(12);
break;
}
}
for(int i=0;i=12)
{
name=name.Substring(12);
打破
}
}
不要对非例外的事物使用例外。如果您不希望任何文档的长度小于12,那么您可以使用异常(但不仅限于控制流):
for(int i=0;i
如果可以避免,则不需要异常处理:
for (int i = 0; i < doc.Length; i++)
{
name = doc[i].ToString();
if(name != null && name.Length >= 12)
{
name = name.Substring(12);
break;
}
}
for(int i=0;i=12)
{
name=name.Substring(12);
打破
}
}
不要对非例外的事物使用例外。如果您不希望任何文档的长度小于12,那么您可以使用异常(但不仅限于控制流):
for(int i=0;i
您不需要在此中断或继续。
试试这个
for (int i = 0; i < doc.Length; i++)
{
name = doc[i].ToString();
try
{
if (!string.IsNotNullOrEmpty(name))
{
name=name.ToString().Substring(12);
}
}
catch{ }
}
for(int i=0;i
您不需要在此中断或继续。
试试这个
for (int i = 0; i < doc.Length; i++)
{
name = doc[i].ToString();
try
{
if (!string.IsNotNullOrEmpty(name))
{
name=name.ToString().Substring(12);
}
}
catch{ }
}
for(int i=0;i
似乎是从您的代码中删除中断
的候选者,它会起作用fine@CuongLe:非常感谢。不,我把它放在这里是因为如果它没有抛出任何错误,我必须退出循环。这是一个问题吗???可能不相关,但为什么你不能检查字符串长度并避免尝试…捕获?另外,double.ToString是不必要的。我想说,这是非常相关的。似乎可以从代码中删除break
,它会起作用fine@CuongLe:非常感谢。不,我把它放在这里是因为如果它没有抛出任何错误,我必须退出循环。这是一个问题吗???可能不相关,但为什么你不能检查字符串长度并避免尝试…捕获?同样是双倍。ToString是不必要的。我想说这是非常相关的。Dan-o:真的吗???如果是这样的话,我就把它拿走。丹奥:真的吗???如果是这样的话,我会删除它。你甚至不需要名称!=“”
@McAden同意,在这种情况下,代码将保持不变。但是我也添加了空检查,所以您可能可以跳过名称!=null
也是空的,因为它是从ToString()初始化的。我从没见过ToString回来null@McAden很抱歉,在我看到ToString()
实现doc
:)之前,我不能这样做。您甚至不需要名称!=“”
@McAden同意,在这种情况下,代码将保持不变。但是我也添加了空检查,所以您可能可以跳过名称!=null
也是空的,因为它是从ToString()初始化的。我从没见过ToString回来null@McAden很抱歉,在看到ToString()
实现doc
:)之前我不能这么做。聪乐:我不知道这样的事情。谢谢你提供的信息。@user2002774:现在你已经知道了:)聪乐:我不知道这样的事情。谢谢你提供的信息。@user2002774:现在你已经知道了:)