Die Concat
Methode wird ein Objekt, das Gerät zurückgeben IEnumerable<T>
indem Sie ein Objekt zurückgeben (nennen Sie es Cat), dessen Enumerator versuchen wird, die beiden übergebenen aufzählbaren Elemente (nennen Sie sie A und B) nacheinander zu verwenden. Wenn die übergebenen Aufzählungen Sequenzen darstellen, die sich während der Lebensdauer von Cat nicht ändern und die ohne Nebenwirkungen gelesen werden können, kann Cat direkt verwendet werden. Andernfalls ist es möglicherweise eine gute Idee, ToList()
unter Cat
anzurufen und das Ergebnis List<T>
zu verwenden (das eine Momentaufnahme des Inhalts von A und B darstellt).
Einige Enumerables nehmen einen Snapshot auf, wenn die Enumeration beginnt, und geben Daten aus diesem Snapshot zurück, wenn die Auflistung während der Enumeration geändert wird. Wenn B so aufzählbar ist, dann wird jede Änderung von B, die auftritt, bevor Cat das Ende von A erreicht hat, in Cat's Enumeration auftauchen, aber Änderungen, die danach auftreten, werden dies nicht tun. Eine solche Semantik kann wahrscheinlich verwirrend sein; Einen Schnappschuss von Cat zu machen kann solche Probleme vermeiden.
Sie könnten http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b als Lesezeichen speichern. –
verwandt, wenn es hilft: [Elegante Möglichkeit, mehrere Sammlungen von Elementen zu kombinieren?] (Http://stackoverflow.com/questions/4493858/elegant-way-to-combine-multiple-collection-of-elements) – nawfal