C# list 动态指定 select 列
时间: 2024-09-28 16:17:18 浏览: 41
C# List实现行转列的通用方案
在C#中,如果你有一个`List<T>`类型的集合,想要通过LINQ查询只选择其中的部分列(属性),你可以使用`Select`方法动态地创建新的匿名类型或自定义类型。`Select`方法允许你在表达式中选择你需要的数据并返回一个新的序列。
例如,假设你有一个`Person`类,包含`Name`和`Age`属性,你可以这样做:
```csharp
List<Person> people = GetPeople(); // 假设GetPeople()返回Person列表
// 使用Select动态选择Name和Age列
var selectedProperties = people.Select(p => new { p.Name, p.Age });
// 现在selectedProperties是一个新的IEnumerable,其元素是匿名类型,每个元素包含Name和Age
foreach (var personInfo in selectedProperties)
{
Console.WriteLine($"Name: {personInfo.Name}, Age: {personInfo.Age}");
}
```
在这个例子中,`Select`创建了一个新集合,其中每个元素都是一个只包含`Name`和`Age`的新匿名类型。
阅读全文