我只是学习lambda表达式,我想使用lambda表达式来选择任何特定的项目.在这里,我想选择一个key = 1的人,以便selectedOne ="sanjay"
var people = new Dictionary<int, string>();
people.Add(1, "sanjay");
people.Add(2, "roshan");
people.Add(3, "neejesh");
people.Add(4, "deep");
var selectedOne = people.Select(x => x.Key == 1);
Run Code Online (Sandbox Code Playgroud)
我应该如何构建我的lambda查询?
谢谢!
小智 8
Dictionary是工具IEnumerable的KeyValuePair包含Key与Value财产:
var selectedOne = people.First(x => x.Key == 1).Value;
Run Code Online (Sandbox Code Playgroud)
你使用错误的LINQ方法.Select用于投影一些值(将一个值转换为另一个值).您需要过滤(通过指定键搜索).
但是......使用LINQ来选择字典键效率不高.更好的是:
var selectedOne = people[1];
Run Code Online (Sandbox Code Playgroud)
它是O(1)对O(n)的摊销 - 巨大差异.
| 归档时间: |
|
| 查看次数: |
12313 次 |
| 最近记录: |