我希望获得以下List
Dictionary
中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);
s中的项目总数:
{{1}}
答案 0 :(得分:21)
我相信这会让你有效而清晰地获得你想要的数量。在引擎盖下,它必须遍历列表,但为了获得总计数,没有办法避免这种情况。
var i = dd.Values.Sum(x => x.Count);
答案 1 :(得分:1)
var i = dd.Values.SelectMany(v => v).Count();
答案 2 :(得分:1)
所有列表项的总数:
dd.SelectMany(i => i.Value).Count();
List
包含单个列表计数:
dd.Select(i => i.Value.Count).ToList()
答案 3 :(得分:0)
这个怎么样?
var l = dd.Select(i => new {i, i.Value.Count});
答案 4 :(得分:0)
var total = dictionary.Sum(x =&gt; x.Value.Count());