[英]Get keys (objects) from a dictionary that contains list and filtered by values
[英]Get keys as List<> from Dictionary for certain values
虽然类似于这个问题给了我LINQ的部分问题,但我遗漏了一些似乎必须明显的东西,以避免循环字典的最后一步。
我有一个字典,我想得到一个键的列表,只有值为true的项目。 现在我这样做:
Dictionary<long,bool> ItemChecklist;
...
var selectedValues = ItemChecklist.Where(item => item.Value).ToList();
List<long> values = new List<long>();
foreach (KeyValuePair<long,bool> kvp in selectedValues) {
values.Add(kvp.Key);
}
有没有办法可以直接进入List<long>
而不进行循环?
要在一个声明中执行此操作:
var values = ItemChecklist.Where(item => item.Value).Select(item => item.Key).ToList();
尝试使用Enumerable.Select
:
List<long> result = ItemChecklist.Where(kvp => kvp.Value)
.Select(kvp => kvp.Key)
.ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.