从另一个列表创建列表
让我们说:
class Plus5 { Plus5(int i) { i+5; } } List initialList = [0,1,2,3]
我如何从initialList创建另一个为initialList的每个元素调用Plus5()构造函数的列表。 比什么更好?
List newList = new List(); initialList.ForEach( i => newList.Add(Plus5(int)));
我如何从initialList创建另一个为initialList的每个元素调用Plus5()构造函数的列表?
所以结果是List
,你想为Plus5
中的每个int
创建一个新的initialList
:
List newList = initialList.Select(i => new Plus5(i)).ToList();
如果你想微优化(节省内存):
List newList = new List (initialList.Count); newList.AddRange(initialList.Select(i => new Plus5(i)));
使用LINQ为列表中的每个数字添加5。
var result = initialList.Select(x => x + 5);
你可以使用LINQ作为roughnex提到的。
var result = initialList.Select(x => x + 5).ToList();
如果你有一个方法(如Plus5),它会是这样的
int Plus5(int i) { return I + 5; } var result = initialList.Select(Plus5).ToList();
List result = new List (InitialList.Select(x=>new Plus5(x)).ToList()));