Can IEnumerableコレクションはリストのように拡張できますか?
IEnumerableコレクションは、変更可能または変更できない要素のシーケンスを表します。リストとは異なり、IEnumerableコレクションは本質的に項目の追加をサポートしません。
IEnumerable に項目を追加しようとすると、提供された例のように、収集は実際には非効率的です。 ToList() メソッドは、IEnumerable を変換します。 List に追加し、項目を追加できるようにします。ただし、元の IEnumerable は
items.Add(item) の代替手段はありますか?
いいえ、直接同等のものはありません。 IEnumerable の items.Add(item)。ただし、新しい IEnumerable を作成することはできます。これには、元のアイテムと新しいアイテムの両方が含まれます。この手法は、Enumerable.Concat メソッドに依存しています。
items = items.Concat(new[] { "foo" });
ログイン後にコピー
このアプローチでは、変更不可能な IEnumerable が作成されます。元のコレクションと追加されたアイテムのすべての要素が組み込まれています。さらに、元のコレクションに対する将来の変更が新しい IEnumerable に反映されるようにします。
以上がIEnumerable コレクションはリストのように拡張できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。