所以,我想要两个List<>类的实例的类型,然后使用方法将这些列表添加到这些列表中,但它不希望以这种方式工作,也不知道如何更正它。 AttachWagonFromLeft()
方法不会向列表中添加任何内容,我尝试使用this
引用该实例。有谁有想法吗?感谢。
`
public class TrainComposition {
private List<int> LeftWagons;
private List<int> RightWagons;
public List<int> LeftWagons1 { get => LeftWagons; set => LeftWagons = value; }
public List<int> RightWagons1 { get => RightWagons; set => RightWagons = value; }
public void AttachWagonFromLeft(int wagonId) {
this.LeftWagons1.Add(wagonId);
}
public void AttachWagonFromRight(int wagonId) {
this.RightWagons1.Add(wagonId);
}
[...]
`public static void Main(string[] args) {
TrainComposition tree = new TrainComposition();
tree.LeftWagons1 = new List<int>();
tree.RightWagons1 = new List<int>();
tree.AttachWagonFromLeft(7);
tree.AttachWagonFromLeft(13);
Console.WriteLine(tree.DetachWagonFromRight()); // 7
Console.WriteLine(tree.DetachWagonFromLeft()); // 13
`
答案 0 :(得分:1)
关于您的课程,您可以使用Auto-Implemented Properties (C# Programming Guide):
public class TrainComposition
{
public List<int> LeftWagons1 { get; set; }
public List<int> RightWagons1 { get; set; }
public void AttachWagonFromLeft(int wagonId)
{
this.LeftWagons1.Add(wagonId);
}
public void AttachWagonFromRight(int wagonId)
{
this.RightWagons1.Add(wagonId);
}
}
您没有提供DetachWagonFromRight和DetachWagonFromLeft实现,但假设它打印了列表中的最后一个参数:
public int DetachWagonFromLeft()
{
return this.LeftWagons1.Last();
}
您的代码未按预期工作,因为您向左添加了两次而右侧没有添加:
tree.AttachWagonFromLeft(7);
tree.AttachWagonFromLeft(13);