ホームページ >バックエンド開発 >C++ >IEnumerable に項目を追加するにはどうすればよいですか?

IEnumerable に項目を追加するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-29 21:43:40166ブラウズ

How Can I Add Items to an IEnumerable?

IEnumerable への項目の追加

多くの開発者は、要素を IEnumerable に追加するための items.Add(item) のようなメソッドを探しています。コレクション。ただし、IEnumerable が存在するため、これは実行できません。必ずしも可変コレクションを表すわけではありません。コレクションをまったく表していない可能性もあります。

たとえば、次のメソッドを考えてみましょう。

IEnumerable<string> ReadLines()
{
     string s;
     do
     {
          s = Console.ReadLine();
          yield return s;
     } while (!string.IsNullOrEmpty(s));
}

このメソッドは、コンソールから行を読み取ることによって IEnumerable を生成します。結果のコレクションに対して Add("foo") を呼び出そうとすると、この IEnumerable 実装ではサポートされていないため、例外が発生します。

代わりに、Enumerable.Concat メソッドを使用して、新しい項目を IEnumerable に追加できます。上記の例では、次のように、コンソールからの行と新しい項目「foo」の両方を含む新しい IEnumerable を作成できます。

items = items.Concat(new[] { "foo" });

このアプローチでは、両方の行の項目を含む新しい IEnumerable が作成されます。元の IEnumerable と新しい項目。元のコレクションは変更されないことに注意してください。

以上がIEnumerable に項目を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。