【发布时间】:2021-12-28 00:12:32
【问题描述】:
如何在通用列表中交换每个实例的 2 个属性。更好地解释:
对于该列表中的所有 A 实例,我希望 BInstance1 变为 BInstance2,BInstance2 变为 BInstance1:
我很确定我应该使用 Select linq 扩展方法,但我不太了解它的语法
public class A
{
public B BInstance1 { get; set; }
public B BInstance2 { get; set; }
}
public class B
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime Created { get; set; }
}
var aList = new List<A>();
aList.Add(new A()
{
BInstance1 = new B() { Created = DateTime.Now.Add(new TimeSpan(1, 0, 0, 0)), Id = 1, Name = "B1" },
BInstance2 = new B() { Created = DateTime.Now.Add(new TimeSpan(2, 0, 0, 0)), Id = 2, Name = "B2" }
});
aList.Add(new A()
{
BInstance1 = new B() { Created = DateTime.Now.Add(new TimeSpan(3, 0, 0, 0)), Id = 3, Name = "B3" },
BInstance2 = new B() { Created = DateTime.Now.Add(new TimeSpan(4, 0, 0, 0)), Id = 4, Name = "B4" }
});
【问题讨论】: