将每个列表项复制到另一个列表项属性

本文关键字:列表 另一个 属性 复制 | 更新日期: 2023-09-27 18:37:24

有没有一种简单的方法,最重要的是,更优化地执行 fowling 代码:

class Chair{
    int numberOfLegs=4;
}
class House{
    Chair chair;
    String name="My Home";
}
// add chairs to each house
IList<Chair> chairs = new List<Chair>(10); // let us imagine that we have 10 different chairs...
// Code to replace:
IList<House> houses = new List<House>(chairs.Count());
for (int i = 0; i < houses.Count(); i++){
    houses[i].chair = chairs[i]
}

将每个列表项复制到另一个列表项属性

我自己的建议是用Linq替换for

// Code to replace:
IList<Homes> homes = chairs.Select(c => new Home{ Chair = c}).ToList();

它比旧代码快吗?

你有更好的主意吗?也许使用chairs.AsParallel