हम एक सरल संरचना जो सिर्फ सूचियों की एक सूची है, इसलिए की तरह ...सूचियों की सूची में वस्तुओं की कुल गणना प्राप्त करने के लिए लिंक का उपयोग करना संभव है?
var fooInfo = new List<List<Foo>>();
वहाँ एक आसान तरीका हम LINQ का उपयोग कर सकते भीतरी से सभी वस्तुओं की कुल वापस जाने के लिए है, तो मैं सोच रहा हूँ है सूचियों। उदाहरण के लिए, अगर हम इस था ...
fooInfo.add(new List<Foo>()); // First list within the outer list
fooInfo.add(new List<Foo>()); // Second list within the outer list
fooInfo.add(new List<Foo>()); // Third list within the outer list
// Add two items to the first inner list
fooInfo[0].add(new Foo());
fooInfo[0].add(new Foo());
// Add one item to the second inner list
fooInfo[1].add(new Foo());
// Add four items to the third inner list
fooInfo[2].add(new Foo());
fooInfo[2].add(new Foo());
fooInfo[2].add(new Foo());
fooInfo[2].add(new Foo());
... हम तीन सूचियों दो, एक और चार आइटम के साथ क्रमशः है, कुल 'फू' वस्तुओं सात हैं, जिसका अर्थ है जाएगा। यही वह नंबर है जिसे मैं अपने स्वयं के लूपिंग कोड लिखने और मैन्युअल रूप से उन्हें लिखने के बजाय linq के माध्यम से पुनर्प्राप्त करने की उम्मीद कर रहा हूं।
उदा।
var totalFoos = fooInfo.LINQToGetTotalFoos();
बजाय ....
int totalFoos = 0;
foreach(var childList in fooInfo)
totalFoos += childList.Count();
@ निखिलग्रावल 'एनमेरेबल काउंटर()' यदि लक्ष्य 'आईसीओलेक्शन ' लागू करता है (और उसके कारण 'गणना' संपत्ति है), और यदि ऐसा होता है तो इसका उपयोग करता है। –
MarcinJuraszek
हां। वैध बिंदु। मेरी चिंता 'IENumerable.Count' के बजाय' List.Count' का उपयोग करना था। इससे आपके प्रश्न हल्का हो जाएंगे। –
इसे पढ़ें http://stackoverflow.com/questions/981254/is-the-linq-count-faster-or-slower-than-list-count-or-array-length –