📜  linq 选择 - C# (1)

📅  最后修改于: 2023-12-03 15:02:41.629000             🧑  作者: Mango

Linq 选择 - C#

LINQ(Language Integrated Query)是一种用于.NET Framework中的数据查询技术,它使我们能够使用类似SQL的语法对各种数据源(如集合、数据库、XML)进行查询和操作。

在C#中使用LINQ可以大大提高开发效率,可读性和可维护性。本文将详细介绍如何使用LINQ选择。

选择操作符

在LINQ中,有许多不同的操作符可用于查询和转换数据源。选择操作符是这些操作符中的一类,用于从数据源中选择指定的数据元素。

下面是一些常用的选择操作符:

Select

Select操作符用于将数据源中的每个元素投影到一个新的形式,返回一个新的序列。

例如,假设我们有一个List<int>,我们想将每个元素乘2并返回一个新的List<int>,可以使用以下代码:

List<int> numbers = new List<int>{1, 2, 3, 4, 5};
List<int> doubledNumbers = numbers.Select(n => n * 2).ToList();

在这个例子中,我们使用了Lambda表达式n => n * 2作为Select操作符的参数。这个表达式返回输入的每个元素乘以2的结果。最后,我们用ToList()方法将结果转换回一个新的List<int>

SelectMany

SelectMany操作符将数据源中的每个元素转换为一个数组,并将这些数组合并成一个序列。

例如,假设我们有一个List<string>,每个字符串都包含用逗号分隔的数字,我们想要一个包含所有这些数字的List<int>,可以使用以下代码:

List<string> numbers = new List<string>{"1,2,3", "4,5", "6"};
List<int> flattenedNumbers = numbers.SelectMany(n => n.Split(',').Select(int.Parse)).ToList();

在这个例子中,我们使用Lambda表达式n => n.Split(',').Select(int.Parse)作为SelectMany操作符的参数。这个表达式将每个字符串分割成单独的数字,并使用int.Parse将每个数字转换为一个整数。最后,我们用ToList()方法将所有这些张凉绞换回一个新的List<int>

小结

在本文中,我们介绍了LINQ选择操作符的两个主要操作符:SelectSelectMany。这些操作符可用于从数据源中选择指定的数据元素。您可以根据自己的需要使用它们来组合和转换数据,以实现您的特定查询需求。

如果您需要更多有关LINQ的信息,请查看Microsoft的官方LINQ文档。