使用LINQ代替两个for循环

cat*_*ple 4 c# linq

我想将这两个"丑陋" for循环转换为LINQ表达式.谁能帮我吗?我对LINQ很新.提前致谢!

foreach (Edge edge in distinctEdge)
{
    var c = 0;
    foreach(Edge e in EdgeList)
    {
        if(e.target == edge.target && e.source == edge.source)
        {
            c++;
        }
    }
    edge.value = c;
}
Run Code Online (Sandbox Code Playgroud)

Bac*_*cks 8

使用ReSharper:

foreach (var edge in distinctEdge)
{
    edge.value = EdgeList.Count(e => e.target == edge.target && e.source == edge.source);
}
Run Code Online (Sandbox Code Playgroud)

  • @doglas ReSharper是c#开发的必备工具 (3认同)