继承一个新对象

时间:2017-02-27 16:56:45

标签: c# linq

我正在尝试将单个项目添加到由ToArray()创建的数组中,遗憾的是我找不到任何有效的方法来添加新对象,这是我到目前为止所尝试的:

List<MyObject> MyList = new List<MyObject>();
MyList.Add(new MyObject { MyParam = "1" });

MyList.ToArray().Concat(new MyObject { MyParam = "2" });

我似乎无法直接连接新的MyObject,有没有办法做到这一点?

我知道我可以创建一个数组并使用concat将数组A添加到数组B但是在我的完全实现中我需要在Concat方法下创建一个新对象。

也许Concat甚至没有正确的前进方向?任何提示都将非常感激。

1 个答案:

答案 0 :(得分:0)

从您的问题中不清楚您正在尝试做什么。如果您需要可调整大小的有序集合,那么_YourCombobox.setSelectedKey(""); 比数组更好用。要添加项目,只需致电List<T>

在您发布的代码中,Add()方法是一种返回 new 可枚举对象的扩展方法。它不会修改原件。如果你想要一个数组,并且你真的想使用Concat(),你可以这样做:

Concat()

为什么你可能更喜欢这个,我不知道:

MyObject[] array = MyList.Concat(new [] { new MyObject { MyParam = "2" } }).ToArray();

在我看来,后者更好,因为它效率更高,更清楚地表达了你实际做的事情。

如果你真的想要一个数组而一个数组,你可以使用MyList.Add(new MyObject{ MyParam = "2" }); MyObject[] array = MyList.ToArray();

Array.Resize()

我强烈反对使用这样的代码。这是管理可调整大小的集合的一种非常低效的方式。但它会起作用,而且坦率地说是最接近你似乎要求的规范。

如果以上内容不足以解决您的疑虑,请通过编辑来改进您的问题,以更清楚地描述您想要做的事情。