在C#中,投影(Projection)是一种操作,用于从一个集合中选择特定的属性或转换元素,形成一个新的集合。这个过程可以通过使用 LINQ(语言集成查询)查询语法或方法链来实现。
下面是对C#中投影的详细解释和示例说明:
-
使用 LINQ 查询语法: 在 LINQ 查询语法中,可以使用
select
关键字来进行投影操作。通过select
子句,可以选择要从原始集合中提取的属性或进行元素转换。var numbers = new List<int> { 1, 2, 3, 4, 5 }; var squaredNumbers = from number in numbers select number * number; foreach (var squaredNumber in squaredNumbers) { Console.WriteLine(squaredNumber); } // 输出: // 1 // 4 // 9 // 16 // 25
在上述示例中,
numbers
是一个包含整数的集合。通过select
子句,我们从numbers
集合中选择每个元素的平方,并将结果存储在squaredNumbers
集合中。 -
使用 LINQ 方法链: 在 LINQ 方法链中,可以使用
Select
方法进行投影操作。Select
方法接受一个 lambda 表达式,用于指定投影的逻辑。var numbers = new List<int> { 1, 2, 3, 4, 5 }; var squaredNumbers = numbers.Select(number => number * number); foreach (var squaredNumber in squaredNumbers) { Console.WriteLine(squaredNumber); } // 输出: // 1 // 4 // 9 // 16 // 25
在上述示例中,我们使用
Select
方法对numbers
集合进行投影,选择每个元素的平方,并将结果存储在squaredNumbers
集合中。
投影操作可用于从原始集合中选择特定的属性,或者对元素进行转换以创建新的集合。通过投影,我们可以灵活地处理数据,提取所需的信息,并进行必要的转换。无论是使用 LINQ 查询语法还是方法链,投影操作都提供了一种简洁而强大的方式来处理集合数据。