我想計算System.Collections.Generic.LinkedList中的起始節點和終止節點之間的節點總數,類似於STL算法std: :在C++中計數爲(除了我打算在計數中包含末端節點)。C#:計算LinkedList中節點之間的元素數
我還沒有弄清楚例如如何使用任何LINQ擴展方法有效地計算出這個數字,所以我已經實現了這樣的計數器(不包括所有空和一致性檢查):
var counter = 1;
var node = iStartNode;
while (!ReferenceEquals(node, iEndNode))
{
node = node.Next;
++counter;
}
但必須有一個更有效的解決方案,千萬不能」那裏?任何建議,高度讚賞。
爲什麼你認爲應該有更高效的解決方案? –
我可能應該使用_compact_而不是_efficient_。從性能角度來看,上面的解決方案可以嗎? –
從性能角度來看,沒關係。如果您很高興有一些擴展方法可能對別處有所幫助,請參閱我的答案以獲得更緊湊的代表性。 –