【发布时间】:2011-10-22 18:04:05
【问题描述】:
可能的重复:
Breaking out of a nested loop
How to break out of 2 loops without a flag variable in C#?
您好,我有一个具有嵌套循环的函数。满足条件后,我想跳出嵌套循环。代码如下所示:
foreach (EmpowerTaxView taxView in taxViews)
{
foreach (PayrollEmployee payrollEmployee in payrollEmployees)
{
//PayStub payStub = payrollEmployee.InternalPayStub;
IReadOnlyList<PayrollWorkLocation> payrollWorkLocations = payrollEmployee.PayrollWorkLocations;
foreach (PayrollWorkLocation payrollWorkLocation in payrollWorkLocations)
{
Tax tax = GetTaxEntity(payrollWorkLocation, taxView.BSITypeCode, taxView.BSIAuthorityCode,
paidbyEr, resCode);
if (tax != null && tax.Rate.HasValue)
{
taxRate = tax.Rate.Value;
break;
}
}
}
}
不幸的是,break 仅来自一个循环。我想摆脱整个事情。拜托,我知道有些人建议 goto: 声明。我想知道有没有其他方法,比如写一些 LINQ 查询来达到同样的效果。
非常感谢任何想法和建议!
【问题讨论】:
-
@Henk 这几乎和地区一样邪恶。
-
@Yuny:迷信。正确使用它们。