我有以下2个列表:
List<decimal>data;
List<Myclass> mylist;//MyClass has a property called MyProp which is of type decimal.
已填充。 现在,我想迭代myList并用数据列表替换每个MyProp。 我可以通过foreach循环来实现,但是寻找优雅的LINQ解决方案,请帮忙吗?
提前致谢。
答案 0 :(得分:2)
您可以Zip
两个列表一起使用!
list.Zip(data,
(x, y) => x.MyProp = y // this will be run for everything in list
).ToList(); // ToList is needed to actually run the query, otherwise it will be deferred.
// now the values should all be assigned.
答案 1 :(得分:0)
以下是使用Zip方法完成的示例代码
public class Myclass
{
public decimal MyProp { get; set; }
}
List<decimal> data = new List<decimal>() { 1,2,3,4,5};
List<Myclass> myList = new List<Myclass>() { new Myclass(), new Myclass(), new Myclass()};
data.Zip(myList, (dataItem, myListItem) =>
{
myListItem.MyProp = dataItem;
return myListItem;
}).ToList();