2017-03-08 47 views
0

我不知道如何重構這個表達式。這是什麼LINQ表達式

TreeViewItemNode FindNode(TreeViewItemNode nodeCollection) 
{ 
    foreach (var child in nodeCollection.Children) 
     { 
      var found = FindNodeContainingVarId(child, varId); 
      if (found != null) 
       return found; 
     } 

    return null; 
} 

回答

1

首先選擇的節點,並採取第一個找到的節點或空,如果沒有節點被發現,如:

TreeViewItemNode FindNode(TreeViewItemNode nodeCollection) 
{ 
    return nodeCollection.Children 
     .Select(child => FindNodeContainingVarId(child, varId). 
     .FirstOrDefault(node => node != null); 
}