あなたの質問から、正確に何をしようとしているのかは不明です。サイズ変更可能な順序付けされたコレクションが必要な場合は、配列よりもList<T>
を使用するほうがよいです。アイテムを追加するには、Add()
を呼び出します。
投稿したコードでは、Concat()
メソッドは、新しい列挙可能オブジェクトを返す拡張メソッドです。オリジナルは変更されません。あなたはこれにそれを好むかもしれないなぜ、私は知らない
MyObject[] array = MyList.Concat(new [] { new MyObject { MyParam = "2" } }).ToArray();
:
MyList.Add(new MyObject{ MyParam = "2" });
MyObject[] array = MyList.ToArray();
は思えあなたは配列をしたい、とあなたが本当にConcat()
を使用したい場合は、このような何かを行うことができます後者はより効率的で、実際に何をしているのかをより明確に表現しているので、後者が優れていることがわかります。
あなたが本当にアレイとのみ配列をしたい場合は
、あなたは
Array.Resize()
を使用することができます。
MyObject[] array = new [] { new MyObject { MyParam = "1" } };
Array.Resize(ref array, array.Length + 1);
array[array.Length - 1] = new MyObject { MyParam = "2" };
私は強くそのようなコードの使用を阻止します。サイズ変更可能なコレクションを管理するのは非常に非効率的な方法です。しかし、それはうまく動作し、あなたがという仕様に最も密接に従っているのは、と思われます。
あなたの懸念に対処するための十分な情報が不足している場合は、それを編集して内容をより明確に説明してください。do
配列はサイズ変更できません。配列の代わりに 'List'を使うべきです。 –
SLaks
あなたは1つのインデックスでそれらを組み合わせていますか? MyListは既にMyObjectのリストです。それ以上のものを追加しようとするなら、MyList.Add(新しいMyObject {MyParam = "2"})に移動してください。 – jmag
'MyList.ToArray()'呼び出しを 'MyList.ToList()'呼び出しで置き換え、 'List.Add'メソッドを使って項目を追加したいかもしれません – Vikhram