C#中LINQ的Select和SelectMany函数
C#中的LINQ(Language Integrated Query)提供了一种简单的方式来查询和操作数据,其中包括Select和SelectMany函数。Select函数用于从数据源中提取数据,而SelectMany函数则用于从数据源中提取多个集合的数据。下面分别介绍这两个函数的使用方法。
Select函数
Select函数可以从数据源中提取数据,并将其转换为另一种数据类型。例如,可以从一个字符串列表中提取出每个字符串的长度:
var strings = new List{ "A", "BB", "CCC" }; var lengths = strings.Select(s => s.Length); // lengths = { 1, 2, 3 }
上面的代码中,Select函数接受一个lambda表达式,该表达式指定了如何从源数据中提取数据,本例中的lambda表达式指定了提取每个字符串的长度。Select函数返回一个新的集合,该集合包含了源数据中每个元素转换后的值。
SelectMany函数
SelectMany函数可以从数据源中提取多个集合的数据,并将其转换为一个新的集合。例如,可以从一个字符串列表中提取出每个字符串的每个字符:
var strings = new List{ "A", "BB", "CCC" }; var characters = strings.SelectMany(s => s); // characters = { 'A', 'B', 'B', 'C', 'C', 'C' }
上面的代码中,SelectMany函数接受一个lambda表达式,该表达式指定了如何从源数据中提取数据,本例中的lambda表达式指定了提取每个字符串的每个字符。SelectMany函数返回一个新的集合,该集合包含了源数据中每个元素转换后的值。
C#中的LINQ提供了Select和SelectMany函数,它们可以用于从数据源中提取数据,并将其转换为新的数据类型。Select函数可以从数据源中提取数据,而SelectMany函数则可以从数据源中提取多个集合的数据。