从另一个列表创建一个列表
本文关键字:列表 一个 另一个 创建 | 更新日期: 2023-09-27 18:17:19
假设我有:
class Plus5 {
Plus5(int i) {
i+5;
}
}
List<int> initialList = [0,1,2,3]
如何从initialList
创建另一个列表,为initialList的每个元素调用Plus5()
构造函数。
还有比下面更好的吗?
List<Plus5> newList = new List<Plus5>();
initialList.ForEach( i => newList.Add(Plus5(int)));
如何创建,从initialList,另一个列表调用Plus5()initialList的每个元素的构造函数?
所以结果是List<Plus5> newList
,您想为initialList
中的每个int
创建一个新的Plus5
:
List<Plus5> newList = initialList.Select(i => new Plus5(i)).ToList();
如果你想微优化(节省内存):
List<Plus5> newList = new List<Plus5>(initialList.Count);
newList.AddRange(initialList.Select(i => new Plus5(i)));
使用LINQ将列表中的每个数字加5
var result = initialList.Select(x => x + 5);
您可以像roughnex提到的那样使用LINQ。
var result = initialList.Select(x => x + 5).ToList();
如果您有一个方法(如Plus5),它将看起来像这样
int Plus5(int i)
{
return I + 5;
}
var result = initialList.Select(Plus5).ToList();
List<Plus5> result = new List<Plus5>(InitialList.Select(x=>new Plus5(x)).ToList()));