2009-07-23 15 views
7

मैं वस्तुओं की कुल संख्या निम्नलिखित Dictionary में List रों में प्राप्त करना चाहते हैं: कैसे इस बारे मेंमैं फ़ोरैच का उपयोग किए बिना किसी शब्दकोश में नेस्टेड सूचियों की संख्या कैसे प्राप्त करूं?

Dictionary<int, List<string>> dd = new Dictionary<int, List<string>>() { 
    {1, new List<string> {"cem"}}, 
    {2, new List<string> {"cem", "canan"}}, 
    {3, new List<string> {"canan", "cenk", "cem"}} 
}; 

// This only returns an enumerated array. 
var i = (from c in dd 
     select c.Value.Count).Select(p=>p); 
+0

आप कुल गिनती चाहते हैं? उदाहरण 6 के मामले में? –

+0

हां। मैं शब्दकोश सूची सूची गिनती के हर आइटम की गिनती करना चाहता हूं। – uzay95

उत्तर

18

मेरा मानना ​​है कि यह आप गिनती आप कुशलता से और स्पष्ट रूप से चाहते मिल जाएगा । हुड के तहत इसे सूचियों के माध्यम से फिर से शुरू करना है, लेकिन कुल गिनती पाने के लिए, इससे बचने का कोई तरीका नहीं है।

var i = dd.Values.Sum(x => x.Count); 
0

?

var l = dd.Select(i => new {i, i.Value.Count}); 
+0

ओह ने उस अंतिम टिप्पणी को नहीं देखा ... ओह अच्छी तरह से – BigBlondeViking

+0

यह अच्छा है लेकिन मेरे अनुरोध का जवाब नहीं दे रहा है। – uzay95

1
var i = dd.Values.SelectMany(v => v).Count(); 
0

सभी सूची आइटम की कुल संख्या:

dd.SelectMany(i => i.Value).Count(); 

List युक्त व्यक्ति सूची मायने रखता है:

dd.Select(i => i.Value.Count).ToList() 
+0

SelectMany के साथ उपयोग कर अच्छा जवाब। – uzay95

0

var कुल = dictionary.Sum (x => x.Value.Count());

संबंधित मुद्दे