我有一个 KeyValuePair 列表(Key 是 string 类型,value 是 int 类型)。我想返回键值对列表,它将获得我的匹配条件示例:返回一个列表,其中 Key = "A" 和 Value = 10。
select 将如何处理此问题以及如何编写表达式以获得所需的结果?
除了使用 KeyValuePair 列表,您还可以使用
Dictionary <string, int> dictionary = new Dictionary <string, int> ().
Run Code Online (Sandbox Code Playgroud)
为了搜索我们的集合,我们将使用First运算符,如果我们使用运算符FirstOrDefault会更好。为什么?下面说明。通过运算符搜索要快得多,因为该集合是逐个元素地搜索到满足条件的第一个遇到的项目。同时,运算符Where搜索整个集合。
现在我们正在向字典中添加一个新条目,键必须是唯一的(它们不能是具有相同键的两个条目)。
例如,让我们向集合中添加一些条目。
dictionary.Add ("one", 1);
dictionary.Add ("two", 2);
dictionary.Add ("three", 3);
Run Code Online (Sandbox Code Playgroud)
现在,使用 LINQ 可以非常简单快捷地获取我们感兴趣的项目。然后我们可以寻找关键元素,因为我们知道这是唯一的。有两种方式:
第一种方式保证我们不会在没有元素搜索的情况下返回异常(例如 Key = "four")。结果将是一个空键和一个值 0。
KeyValuePair <string, int> results = dictionary.FirstOrDefault (v => v.Key.Equals ("two"));
Run Code Online (Sandbox Code Playgroud)
当元素搜索不在集合中时,第二种方式可能会产生错误。
KeyValuePair <string, int> results = dictionary.First (v => v.Key.Equals ("two"));
Run Code Online (Sandbox Code Playgroud)
现在您可以检索值:
string key = results.Key;
int value = results.Value;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13490 次 |
| 最近记录: |