Heim >Backend-Entwicklung >C++ >Wie kann ich Elemente zu einem IEnumerable hinzufügen?

Wie kann ich Elemente zu einem IEnumerable hinzufügen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-29 21:43:40175Durchsuche

How Can I Add Items to an IEnumerable?

Elemente zu einem IEnumerable hinzufügen

Viele Entwickler suchen nach einer Methode wie items.Add(item) zum Hinzufügen von Elementen zu einem IEnumerable Sammlung. Dies ist jedoch nicht möglich, da ein IEnumerable stellt nicht unbedingt eine veränderbare Sammlung dar. Möglicherweise stellt es überhaupt keine Sammlung dar.

Betrachten Sie beispielsweise die folgende Methode:

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

Diese Methode generiert ein IEnumerable, indem sie Zeilen aus der Konsole liest. Der Versuch, Add("foo") für die resultierende Sammlung aufzurufen, würde eine Ausnahme auslösen, da dies in dieser IEnumerable-Implementierung nicht unterstützt wird.

Stattdessen können Sie die Enumerable.Concat-Methode verwenden, um neue Elemente an ein IEnumerable anzuhängen. Für das obige Beispiel könnten Sie wie folgt ein neues IEnumerable erstellen, das sowohl die Zeilen aus der Konsole als auch ein neues Element „foo“ enthält:

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

Dieser Ansatz erstellt ein neues IEnumerable, das die Elemente aus beiden enthält das ursprüngliche IEnumerable und das neue Element. Beachten Sie, dass die ursprüngliche Sammlung dadurch nicht verändert wird.

Das obige ist der detaillierte Inhalt vonWie kann ich Elemente zu einem IEnumerable hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn