如何在c#中进行列表推导(将一个列表转换为另一个列表的紧凑方式)
本文关键字:列表 转换 一个 另一个 方式 | 更新日期: 2023-09-27 18:15:04
在我的代码中,我经常有这样的序列:
List<type1> list1 = ...;
List<type2> list2 = new List<type2>();
foreach(type1 l1 in list1)
{
list2.Add(myTransformFunc(l1));
}
在Python中,可以写成
list2 = [myTransformFunc(l1) for l1 in list1]
是否有一种紧凑的方式在c#中编写它?
var newList = list.Select(x => YourTransformFunc(x)).ToList();
或:
var newList = list.Select(YourTransformFunc).ToList();
函数签名应该是:
type2 YourTransformFunc(type1 value)
{
}
编辑:扩展方法Select
和ToList
在System.Linq
命名空间
你在想这个:
list1.ForEach(x=> list2.Add(myTransformFunc(x)));