gpt4 book ai didi

c# - 如何在C#中向linq select new命令的结果中添加项目?

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:49 25 4
gpt4 key购买 nike

在使用linq的C#中,我有一个查询,例如:

var result = from p in cart select new { p.Product.Title, p.Product.Price };


现在我想添加其他一些结果。例如添加:

int weight;
string message;


这样我就可以像:

foreach( var r in result)
{
dosomething(r.weight;)
dosomething(r.message);
dosomething(r.title);
dosomething(r.price);
}


可能吗?我该怎么办?

最佳答案

你不能那样做。匿名类型是普通类型,它们在编译时是固定的。您以后不能更改它们。

 编辑:
您可以为结果集创建一个容器类,然后基于该容器类进行选择:
类MyResult

class MyResult
{
public string Title { get; set; }
public double Price { get; set; }
public double Weight { get; set; }
public string Message { get; set; }
}


然后您可以使用:

    var query = from t in cart
select new MyResult
{
Title = t.ProductTitle,
Price = t.Product.Price
};


稍后您可以执行以下操作:

foreach( var r in result)
{
dosomething(r.Wight;)
dosomething(r.Message);
dosomething(r.Title);
dosomething(r.Price);
}

关于c# - 如何在C#中向linq select new命令的结果中添加项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10338231/

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