gpt4 book ai didi

c# - LINQ 获取不同的值并填充 LIST

转载 作者:IT王子 更新时间:2023-10-29 04:42:55 25 4
gpt4 key购买 nike

我正在尝试弄清楚是否可以使用 LINQ 为我提供数据表(名字、姓氏、数量)中某些数据的不同值。我可以获得不同的值并填充我的列表,但我必须运行两个不同的 LINQ 查询才能获得它....我相信有更好的方法来做到这一点:)

任何建议将不胜感激(对 LINQ 来说非常新)

代码:

public static List<StudentData> LinqDistinct(DataTable dt)
{
DataTable linqTable = dt;

//get the distinct values
var query =
(from names in dt.AsEnumerable()
select new {
FirstName = names.Field<string>("FirstName"),
LastName = names.Field<string>("LastName")
}).Distinct();


//fill my list with the distinct values
List<StudentData> sList = (from sa in query.AsEnumerable()
select new StudentData
{
FirstName = sa.FirstName,
LastName = sa.LastName
//Qty = names.Field<int>("Qty")

}).ToList();



return sList;}

最佳答案

任何不简单地在 distinct 之后进行投影的原因,您可能需要在 Distinct 之后使用 AsEnumerable() 但这没什么大不了的。

public static List<StudentData> LinqDistinct(DataTable dt)
{
DataTable linqTable = dt;
return
(from names in dt.AsEnumerable()
select new {
FirstName = names.Field<string>("FirstName"),
LastName = names.Field<string>("LastName")
}).Distinct().Select(x =>
new StudentData() { FirstName=x.FirstName, LastName=x.LastName})
.ToList();
}

关于c# - LINQ 获取不同的值并填充 LIST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1786770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com