使用Linq可以从一个集合中选择一部分数据,然后形成一个新的集合,具体可分为以下几步:
- 使用
Select()
方法选择数据集合中的某些字段。 - 使用
Select()
方法创建一个匿名类型对象,指定新的列名。 - 使用
ToList()
方法生成一个新的集合对象。
下面是一个完整的示例代码:
List<Student> students = new List<Student>()
{
new Student {Id=1, Name="Alice", Gender="Female", Score=90 },
new Student {Id=2, Name="Bob", Gender="Male", Score=80 },
new Student {Id=3, Name="Cathy", Gender="Female", Score=85 },
new Student {Id=4, Name="David", Gender="Male", Score=95 },
};
// 选取Id和Name两列,形成一个新的对象集合
var result = students
.Select(s => new { Id = s.Id, FullName = s.Name })
.ToList();
foreach (var s in result)
{
Console.WriteLine($"Id: {s.Id}, Name: {s.FullName}"); // 输出结果
}
在这个示例中,我们选取了Student对象集合中的Id和Name这两列,使用了匿名类型的方式创建了Id
和FullName
这两列,并且在输出时显示了相应的内容。
另一个示例是在选择数据的同时,类似于SQL语句中的AS
关键字,可以使用PropertyName=NewName
的方式为新列命名。示例如下:
// 选取Name和Score两列,并将Score修改为Grade,形成一个新的对象集合
var result2 = students
.Select(s => new { StudentName = s.Name, Grade = s.Score })
.ToList();
foreach (var s in result2)
{
Console.WriteLine($"Name: {s.StudentName}, Grade: {s.Grade}"); // 输出结果
}
在上述示例中,我们选取了Student对象集合中的Name和Score这两列,使用了匿名类型的方式创建了StudentName
和Grade
这两列,Grade
对应的是原始数据集合中的Score
,输出时显示了相应的内容。
这样,我们使用Linq从一个集合选取几列得到一个新的集合并修改列名,该过程就完成了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用Linq从一个集合选取几列得到一个新的集合(可改列名) - Python技术站