Dictionary查找指定的Valuem,判断是否有值
在 .NET 里Dictionaryint, string是键值对集合Key键int类型唯一Value值string类型1. 查找第一个匹配的 Value最常用csharp运行// 你的字典 Dictionaryint, string FidList new Dictionaryint, string { { 1, 张三 }, { 2, 李四 }, { 3, 王五 } }; // 要查找的值 string targetValue 李四; // 方法1Linq 查找推荐 var item FidList.FirstOrDefault(x x.Value targetValue); if (item.Equals(default(KeyValuePairint, string))) { // 没找到 Console.WriteLine(未找到); } else { // 找到了 → 拿到 Key 和 Value int key item.Key; string value item.Value; Console.WriteLine($找到Key{key}, Value{value}); }只想要 Valuecsharp运行string result FidList.Values.FirstOrDefault(v v targetValue);2. 查找所有匹配的 Value如果字典里可能有多个相同 Value用这个csharp运行// 找到所有值等于 张三 的键值对 var allItems FidList.Where(x x.Value targetValue).ToList(); // 遍历 foreach (var kv in allItems) { Console.WriteLine(kv.Key : kv.Value); }3. 只判断是否存在这个 Valuecsharp运行bool exists FidList.ContainsValue(targetValue);超简总结你直接背这几句csharp运行// 找第一个 FidList.FirstOrDefault(x x.Value 要找的值); // 找全部 FidList.Where(x x.Value 要找的值).ToList(); // 判断存在 FidList.ContainsValue(要找的值);var allItems FidList.Where(x x.Value FOBJECTTYPEID).ToList(); 怎么判断allItems 是否有值方法 1用Any()判断推荐性能最好csharp运行var allItems FidList.Where(x x.Value FOBJECTTYPEID).ToList(); // 判断是否有数据 if (allItems.Any()) { // 有值 → 走这里 Console.WriteLine(找到了数据); } else { // 没值 → 走这里 Console.WriteLine(没有找到数据); }方法 2用Count判断最直观csharp运行var allItems FidList.Where(x x.Value FOBJECTTYPEID).ToList(); if (allItems.Count 0) { // 有值 } else { // 没值 }极简总结csharp运行// 有值 allItems.Any() // 没值 !allItems.Any()你直接用allItems.Any()就够了
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2554643.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!