C# 在列表中设置多个属性<;T>;ForEach()?
给定一个类:C# 在列表中设置多个属性<;T>;ForEach()?,c#,linq,C#,Linq,给定一个类: class foo { public string a = ""; public int b = 0; } 然后是它们的通用列表: var list = new List<foo>(new []{new foo(), new foo()}); 编辑:认为ForEach()是一种LINQ扩展方法,而实际上它是Listoops的一部分 匿名方法是你的朋友 list.ForEach(item => {
class foo
{
public string a = "";
public int b = 0;
}
然后是它们的通用列表:
var list = new List<foo>(new []{new foo(), new foo()});
编辑:认为
ForEach()
是一种LINQ扩展方法,而实际上它是List
oops的一部分 匿名方法是你的朋友
list.ForEach(item =>
{
item.a = "hello!";
item.b = 99;
});
MSDN:
list.ForEach(i => { i.a = "hello!"; i.b = 99; });
变成
list.ForEach(item=>{
item.a = "hello!";
item.b = 99;
});
当然,您也可以在创建列表时分配它们,如:
var list = new List<foo>(new []{new foo(){a="hello!",b=99}, new foo(){a="hello2",b=88}});
var list=newlist(new[]{new foo(){a=“hello!”,b=99},new foo(){a=“hello2”,b=88});
老实说,这里真的不需要使用List.ForEach:
foreach (var item in list) { item.a="hello!"; item.b=99; }
我不知道你的答案,但我对这段代码的方法非常感兴趣。你能定义一个动作是什么吗?这并不重要,但这是
列表中的一个方法,不是LINQ。此外,您还可以使用var list=new list(){new foo(),new foo()}创建列表代码>@Anwar
var list = new List<foo>(new []{new foo(){a="hello!",b=99}, new foo(){a="hello2",b=88}});
list.ForEach(i => i.DoStuff());
public void DoStuff(this foo lambda)
{
lambda.a="hello!";
lambda.b=99;
}
foreach (var item in list) { item.a="hello!"; item.b=99; }