【发布时间】:2016-05-05 22:54:15
【问题描述】:
我有课
public class Car()
{
public string Name;
public string Model;
}
我有一个财产
List<Car> CarsA = new List<Car>();
CarsA.Add(new Car(){Name = "Verna",Model="Hyundai"});
CarsA.Add(new Car(){Name = "X1",Model="Bmw"});
我还有另一个财产
List<Car> CarsB = new List<Car>();
现在我想在不获取 CarsA 属性当前实例的情况下将所有条目从 CarsA 添加到 CarsB 的克隆/复制
(即我想为每个条目创建新对象并添加它)。
有点像
foreach(var car in CarsA)
{
Car newCar =new Car();
newCar.Name = car.Name;
newCar.Model = car.Model;
CarsB.Add(newCar);
}
如果我不想实现 ICloneable 并且我没有复制构造器怎么办?
【问题讨论】:
-
这不适合您的目的吗? stackoverflow.com/questions/222598/…
-
循环有什么问题?
-
我的原始类中有很多属性..所以我认为必须有更好的方法来提高代码可读性
-
Deep copy of List<T>的可能重复
-
如果你想提高可读性,只需将循环放在扩展方法中,并在任意数量的列表中调用它。