gpt4 book ai didi

c# - 如何使用 Linq 或 Lambda 执行更新?(C#, Asp.net,Linq , Lambda)

转载 作者:行者123 更新时间:2023-11-30 20:13:02 24 4
gpt4 key购买 nike

如何在 Linq 中进行更新

我的代码是

List<Cart> objNewCartItems = (List<Cart>)Session["CartItems"];

if ((objNewCartItems != null) && (objNewCartItems.Count > 0))
{
for (int i = 0; i < dgShoppingCart.Rows.Count; i++)
{
Cart c = new Cart();
TextBox t = (TextBox)dgShoppingCart.Rows[i].FindControl("txtQuantity");
c.Quantity = (t.Text == string.Empty? (int?)null: Convert.ToInt32(t.Text));

objNewCartItems[i].Quantity = c.Quantity;
}
}
Session["CartItems"] = objNewCartItems;
Response.Redirect("ItemListing.aspx", false);

基本上在 Cart Collection 中,有一个名为 Quantity 的项目,当用户填写该项目时,该项目将被填充。

所以我正在读取网格项并更新数量属性。

但我确信一定有更好的方法通过 linq 或 lambda 来做同样的事情。

请帮忙

提前致谢

最佳答案

好吧,你可以换一个forforeach 循环循环,或者使用 List<T>.ForEach它在内部做同样的事情,但 LINQ 最终是一种查询 语法(因此是 Q),而不是变异语法,并且尝试通过匿名方法表示更新通常不是很有用(/ lambda )。

请注意 .NET 4.0 引入了 Expression允许更好地支持突变的节点,但 C# 编译器不添加对它们的任何支持,因此 Expression lambda 仍然仅限于查询(至少通过语言)。

简而言之:也许坚持你所拥有的。您可以在此处添加一些 LINQ,但它会以与某些查询相同的方式从根本上改变代码,所以我看不出有什么好处。

关于c# - 如何使用 Linq 或 Lambda 执行更新?(C#, Asp.net,Linq , Lambda),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1968791/

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