IEnumerable への項目の追加 Collections
IEnumerable で表される列挙可能なコレクション。インターフェイスは、コレクション自体に直接アクセスせずに、一連の値を反復処理する方法を提供します。項目の変更と追加が可能な List とは異なり、IEnumerable は項目の変更と追加を可能にします。コレクションには本質的にそのような機能はありません。
次の例を考えてみましょう:
IEnumerable<string> items = new string[] { "msg" };
items.ToList().Add("msg2");
ログイン後にコピー
このコードを実行した後、コレクション内の項目の数は 1 のままです。これは、IEnumerable がは変更可能なコレクションを表しません。これは、要素に順番にアクセスする方法を提供するだけです。
項目を IEnumerable に追加するという望ましい動作を実現するには、次のようにします。コレクションを作成するには、新しい IEnumerable を作成するアプローチを使用する必要があります。追加されたアイテムが含まれるオブジェクト。これを実現する 1 つの方法は、Enumerable.Concat メソッドを使用することです。
items = items.Concat(new[] { "foo" });
ログイン後にコピー
このコード行は、新しい IEnumerable を作成します。元の項目コレクションのすべての要素と、その後に追加の項目「foo」が続くオブジェクト。新しいオブジェクトには、元のコレクションに加えられた変更が反映され、常に最新のデータ表現が得られます。
このアプローチでは、元の項目配列は変更されないことに注意してください。代わりに、データの更新されたビューを提供する新しいコレクション オブジェクトを作成します。
以上がIEnumerable コレクションに項目を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。