c# - 如何从 KeyValuePair 列表中进行选择?

标签 c# generic-list

我有一个KeyValuePair列表(Key是string类型,value是int类型)。我想返回键值对列表,它将获得我的匹配条件 示例:返回一个列表,其中 Key = "A"和 Value = 10。

select 如何处理这个以及如何编写表达式以获得我需要的结果?

最佳答案

您可以使用

而不是使用 KeyValuePair 列表
Dictionary <string, int> dictionary = new Dictionary <string, int> ().

要搜索我们的集合,我们将使用 First 运算符,如果我们使用运算符 FirstOrDefault 会更好。为什么?说明如下。通过运算符搜索要快得多,因为集合是逐个元素搜索到满足条件的第一个遇到的项目。同时,运算符 Where 搜索整个集合。

现在我们正在向字典中添加一个新条目,key 必须是唯一的(它们不能是具有相同 key 的两个条目)。

例如,让我们向集合中添加一些条目。

dictionary.Add ("one", 1);
dictionary.Add ("two", 2);
dictionary.Add ("three", 3);

现在,使用 LINQ 可以非常简单快速地获取我们感兴趣的项目。然后我们可以寻找关键元素,因为我们知道这是唯一的。 有两种方式:

第一种方法保证我们不会在没有元素搜索的情况下返回异常(例如 Key = "four")。结果将是一个空键和一个值为 0 的值。

KeyValuePair <string, int> results = dictionary.FirstOrDefault (v => v.Key.Equals ("two"));

第二种方式可能会在元素搜索不在集合中时产生错误。

KeyValuePair <string, int> results = dictionary.First (v => v.Key.Equals ("two"));

现在您可以检索值:

string key = results.Key;
int value = results.Value;

关于c# - 如何从 KeyValuePair 列表中进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33140124/

相关文章:

c# - 我如何点击网站按钮?

c# - 如何找到未使用 PrincipalSearcher 设置属性的 UserPrincipal?

c# - ASP.NET C# 在 Repeater 的 Gridview 中继续行计数

c# - 如何在不更改相同列表的情况下反转通用列表?

C# 数组与泛型列表

delphi - 如何使用 Delphi 一步初始化 TList<T>?

c# - 无法使用 Simple Injector 注册 Api Controller?

c# - 将 OrderBy 与 Entity Framework 和 ObjectContext.CreateQuery(T) 结合使用时出现问题

c# - 尝试使用通用对象序列化新的 XML 文件

c# - List<Object> 对象引用