gpt4 book ai didi

c# - 如何使用 lambda 表达式在列表中设置多个值?

转载 作者:太空狗 更新时间:2023-10-29 20:58:51 33 4
gpt4 key购买 nike

如何设置列表对象的多个值,我正在做以下但失败。

objFreecusatomization
.AllCustomizationButtonList
.Where(p => p.CategoryID == btnObj.CategoryID && p.IsSelected == true && p.ID == btnObj.ID)
.ToList()
.ForEach(x => x.BtnColor = Color.Red.ToString(), );

最后在逗号后我想设置另一个值。应该是什么表达,虽然我只有一条记录相关。

最佳答案

我个人不会这样写代码无论如何 - 但你可以只使用 statement lambda :

A statement lambda resembles an expression lambda except that the statement(s) is enclosed in braces

The body of a statement lambda can consist of any number of statements; however, in practice there are typically no more than two or three.

所以 ForEach 调用看起来像这样:

.ForEach(x => {
x.BtnColor = Color.Red.ToString();
x.OtherColor = Color.Blue.ToString();
});

不过我会写一个 foreach 循环:

var itemsToChange = objFreecusatomization.AllCustomizationButtonList
.Where(p => p.CategoryID == btnObj.CategoryID
&& p.IsSelected
&& p.ID == btnObj.ID);

foreach (var item in itemsToChange)
{
item.BtnColor = Color.Red.ToString();
item.OtherColor = Color.Blue.ToString();
}

(您可以将查询内联到 foreach 语句本身,但我个人认为使用单独的局部变量的上述方法更清晰。)

关于c# - 如何使用 lambda 表达式在列表中设置多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18403005/

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