foreach和方法组

Lor*_*tel 2 c# linq code-cleanup

Resharper大大简化了一个循环,但是现在它让我想到一个未使用的变量,我该如何干净利落地做到这一点?

foreach (Field Test in Line.Where(IsStartKey))
    Phase = ScanPhase.Processing;
...
private static bool IsStartKey(Field Test)
{
    return Test.Value.StartsWith("Cabinet Name");
}
Run Code Online (Sandbox Code Playgroud)

测试当然是在原版中使用但在简化之后它没用.该行已被标记,但未提出任何改进建议.

Mik*_*ray 5

好像你甚至不需要循环了.您只需要知道其中是否Line包含任何所需的项目.Enumerable.Any可以做到这一点:

if (Line.Any(IsStartKey))
    Phase = ScanPhase.Processing;
Run Code Online (Sandbox Code Playgroud)