📜  c# new dictionary linq - C# (1)

📅  最后修改于: 2023-12-03 14:39:43.736000             🧑  作者: Mango

C#中使用Dictionary和LINQ

在C#中,Dictionary是一种方便快速的键值对数据结构,而LINQ则是一种能够极大地提高代码可读性和编写效率的语言集成查询技术。本文将结合两种技术,介绍如何使用Dictionary和LINQ来处理数据。

新建Dictionary实例

在C#中,我们可以使用泛型Dictionary来创建键值对数据结构。以下代码展示如何创建一个Dictionary<string, int>实例,并给其添加一些元素:

Dictionary<string, int> dict = new Dictionary<string, int>();
dict.Add("apple", 5);
dict.Add("banana", 3);
dict.Add("pear", 7);

其中,Dictionary<string, int>表示键为string类型,值为int类型的Dictionary。dict.Add方法用于向字典中添加元素。

LINQ查询

使用C#的LINQ技术,我们可以使用类似于SQL语言的查询方式来对数据进行处理。以下是一个简单的LINQ查询示例,用于查询所有值大于5的元素的键:

var query = from pair in dict
            where pair.Value > 5
            select pair.Key;

其中,dict是我们创建的Dictionary实例, query是一个IEnumerable<string>类型的变量,它保存了我们查询到的所有键。

上面这段代码中,from关键字用于从字典中提取出每一个键值对。where关键字用于过滤掉“值小于或等于5”的键值对,只留下值大于5的键值对。最后,select关键字用于提取所有键组成的序列。

处理LINQ查询结果

我们可以将查询结果保存到变量中,并对结果进行进一步处理。以下是一个简单的示例,用于计算“值大于5”的元素个数:

int count = (from pair in dict
             where pair.Value > 5
             select pair).Count();

其中,Count方法用于返回一个整数值,表示序列中元素的个数。我们同样可以将查询结果转换为数组或列表,使用示例如下:

var list = (from pair in dict
            where pair.Value > 5
            select pair.Key).ToList();
string[] array = (from pair in dict
                  where pair.Value > 5
                  select pair.Key).ToArray();
总结

本文介绍了如何使用C#中的Dictionary和LINQ技术来处理数据。在实际开发中,这两种技术都被广泛应用,可以提高程序的效率和可读性。