Schreibgeschützte Liste oder nicht änderbare Liste in .NET 4.0
Was ich sagen kann, .NET 4.0 fehlt noch immer eine nur-lese-Listen. Warum der Rahmen immer noch fehlt, ist diese Funktionalität? Ist das nicht eine der häufigsten Stücke von Funktionalität für domain-driven design?
Einer der wenigen Vorteile von Java gegenüber C# ist dies in der form der Sammlungen.unmodifiablelist(list) Methode, die es scheint, ist die schon lange überfällige IList<T> oder List<T>.
Mit IEnumerable<T>
ist die einfachste Lösung auf die Frage - ToList
verwendet werden kann, und gibt eine Kopie.
InformationsquelleAutor der Frage Chris S | 2009-06-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du suchst
ReadOnlyCollection
die hat schon seit .NET2.oder
Dieser erstellt eine nur-lese - Ansicht wiedergibt, welche änderungen an der eingebundenen Sammlung.
InformationsquelleAutor der Antwort LukeH
Wie etwa ReadOnlyCollection bereits im Rahmen?
InformationsquelleAutor der Antwort Jason Watts
Wenn das häufigste Muster aus der Liste zu iterieren durch alle Elemente, die IEnumerable oder IQueryable kann effektiv handeln wie einen nur-lese-Liste als gut.
InformationsquelleAutor der Antwort Paul Betts
In 2.0 können Sie anrufen AsReadOnly to get eine schreibgeschützte version aus der Liste. Oder wickeln Sie einen vorhandenen IList in eine ReadOnlyCollection Objekt.
InformationsquelleAutor der Antwort Paul Alexander
Was ist falsch mit System.Sammlungen.ObjectModel.ReadOnlyCollection?
InformationsquelleAutor der Antwort Matthew Dresser
Für diejenigen, die gerne verwenden-Schnittstellen:
.NET 4.5, ergänzt die generische
IReadOnlyList
- Schnittstelle, die implementiert wird durchList<T>
zum Beispiel.Ist es ähnlich
IReadOnlyCollection
und fügt eineItem
index-Eigenschaft.InformationsquelleAutor der Antwort Martin