System.Collections.Immutable Ad Alanı

Sabit koleksiyonları tanımlayan arabirimler ve sınıflar içerir. Contains interfaces and classes that define immutable collections.

Sınıflar

ImmutableArray

Sabit bir dizi oluşturmak için yöntemler sağlar; Bunun anlamı, oluşturulduktan sonra değiştirilemez.Provides methods for creating an array that is immutable; meaning it cannot be changed once it is created.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableArray<T>.Builder

ImmutableArray<T>Ek bellek ayırmaya gerek kalmadan bir örneğe dönüştürülebilen yazılabilir dizi erişimcisi.A writable array accessor that can be converted into an ImmutableArray<T> instance without allocating extra memory.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary

Sınıfının örnekleri için bir dizi başlatma yöntemi sağlar ImmutableDictionary<TKey,TValue> .Provides a set of initialization methods for instances of the ImmutableDictionary<TKey,TValue> class.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>.Builder

Çok az veya hiç bellek ayırmaya sahip olan ve sabit karma harita örneklerini çok verimli bir şekilde oluşturabilecek veya oluşturabileceğiniz bir karma eşlemeyi temsil eder.Represents a hash map that mutates with little or no memory allocations and that can produce or build on immutable hash map instances very efficiently.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>

Anahtar ve değerlerin sabit, sırasız bir koleksiyonunu temsil eder.Represents an immutable, unordered collection of keys and values.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet

Sınıfının örnekleri için bir dizi başlatma yöntemi sağlar ImmutableHashSet<T> .Provides a set of initialization methods for instances of the ImmutableHashSet<T> class.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>.Builder

Az miktarda bellek ayırmaya sahip olan ve sabit karma küme örneklerini çok verimli bir şekilde oluşturabilecek veya derleyen bir karma kümesini temsil eder.Represents a hash set that mutates with little or no memory allocations and that can produce or build on immutable hash set instances very efficiently.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>

Sabit, sırasız bir karma kümesini temsil eder.Represents an immutable, unordered hash set.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableInterlocked

Sabit koleksiyonlar için birbirine kenetlenmiş değişim mekanizmaları içerir.Contains interlocked exchange mechanisms for immutable collections.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList

Sınıfının örnekleri için bir dizi başlatma yöntemi sağlar ImmutableList<T> .Provides a set of initialization methods for instances of the ImmutableList<T> class.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>.Builder

Az miktarda bellek ayırmaya sahip olan ve sabit liste örneklerini çok verimli bir şekilde oluşturabilecek veya oluşturabileceğiniz bir listeyi temsil eder.Represents a list that mutates with little or no memory allocations and that can produce or build on immutable list instances very efficiently.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>

Dizin tarafından erişilebilen nesne türü kesin belirlenmiş bir listesi olan sabit bir listeyi temsil eder.Represents an immutable list, which is a strongly typed list of objects that can be accessed by index.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue

Sınıfının örnekleri için bir dizi başlatma yöntemi sağlar ImmutableQueue<T> .Provides a set of initialization methods for instances of the ImmutableQueue<T> class.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue<T>

Sabit bir kuyruğu temsil eder.Represents an immutable queue.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary

Sınıfının örnekleri için bir dizi başlatma yöntemi sağlar ImmutableSortedDictionary<TKey,TValue> .Provides a set of initialization methods for instances of the ImmutableSortedDictionary<TKey,TValue> class.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>.Builder

Az miktarda bellek ayırmaya sahip olan ve sabit sıralanmış sözlük örneklerini çok verimli bir şekilde oluşturabilecek veya derleyen sıralanmış bir sözlüğü temsil eder.Represents a sorted dictionary that mutates with little or no memory allocations and that can produce or build on immutable sorted dictionary instances very efficiently.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>

Sabit sıralanmış bir sözlüğü temsil eder.Represents an immutable sorted dictionary.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet

Sınıfının örnekleri için bir dizi başlatma yöntemi sağlar ImmutableSortedSet<T> .Provides a set of initialization methods for instances of the ImmutableSortedSet<T> class.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>.Builder

Az miktarda bellek ayırmaya izin veren bir sıralanmış kümeyi temsil eder ve sabit sıralanmış kümeleri verimli bir şekilde yönetir ya da oluşturur.Represents a sorted set that enables changes with little or no memory allocations, and efficiently manipulates or builds immutable sorted sets.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>

Sabit sıralanmış küme uygulamasını temsil eder.Represents an immutable sorted set implementation.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack

Sınıfının örnekleri için bir dizi başlatma yöntemi sağlar ImmutableStack<T> .Provides a set of initialization methods for instances of the ImmutableStack<T> class.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack<T>

Sabit bir yığını temsil eder.Represents an immutable stack.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Yapılar

ImmutableArray<T>.Enumerator

Dizi numaralandırıcısı.An array enumerator.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableArray<T>

Sabit olan bir diziyi temsil eder; Bunun anlamı, oluşturulduktan sonra değiştirilemez.Represents an array that is immutable; meaning it cannot be changed once it is created.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableDictionary<TKey,TValue>.Enumerator

Sabit sözlüğün içeriğini herhangi bir bellek ayırmadan numaralandırır.Enumerates the contents of the immutable dictionary without allocating any memory.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableHashSet<T>.Enumerator

Sabit karma kümesinin içeriğini herhangi bir bellek ayırmadan numaralandırır.Enumerates the contents of the immutable hash set without allocating any memory.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableList<T>.Enumerator

Bir ikili ağacın içeriğini numaralandırır.Enumerates the contents of a binary tree.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableQueue<T>.Enumerator

Herhangi bir bellek ayırmadan, sabit bir kuyruğun içeriğini numaralandırır.Enumerates the contents of an immutable queue without allocating any memory.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedDictionary<TKey,TValue>.Enumerator

Bir ikili ağacın içeriğini numaralandırır.Enumerates the contents of a binary tree.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableSortedSet<T>.Enumerator

Bir ikili ağacın içeriğini numaralandırır.Enumerates the contents of a binary tree.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

ImmutableStack<T>.Enumerator

Herhangi bir bellek ayırmadan, sabit bir yığının içeriğini numaralandırır.Enumerates the contents of an immutable stack without allocating any memory.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Arabirimler

IImmutableDictionary<TKey,TValue>

Anahtar/değer çiftlerinin sabit bir koleksiyonunu temsil eder.Represents an immutable collection of key/value pairs.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableList<T>

Değiştirilemeyen öğelerin listesini temsil eder.Represents a list of elements that cannot be modified.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableQueue<T>

Sabit ilk, ilk çıkar nesne koleksiyonunu temsil eder.Represents an immutable first-in, first-out collection of objects.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableSet<T>

Yalnızca yeni bir küme örneği oluşturularak değiştirilebilen öğelerin kümesini temsil eder.Represents a set of elements that can only be modified by creating a new instance of the set.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

IImmutableStack<T>

Sabit bir en son ilk çıkar (LıFO) koleksiyonunu temsil eder.Represents an immutable last-in-first-out (LIFO) collection.

NuGet paketi: System. Collections. sabit (değişmez koleksiyonlar ve nasıl yüklenir)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

Açıklamalar

Değişmez Koleksiyonlar ile şunları yapabilirsiniz:With immutable collections, you can:

  • Bir koleksiyonu, tüketicinin, koleksiyonun hiçbir şekilde değişmeyeceğinden emin olmak için bir şekilde paylaşabilirsiniz.Share a collection in a way that its consumer can be assured that the collection never changes.

  • Çoklu iş parçacıklı uygulamalarda örtük iş parçacığı güvenliği sağlayın (koleksiyonlara erişmek için kilit gerekmez).Provide implicit thread safety in multi-threaded applications (no locks required to access collections).

  • İşlevsel programlama uygulamalarını izleyin.Follow functional programming practices.

  • Bir koleksiyonu numaralandırma sırasında değiştirin, ancak özgün koleksiyonun değişmeyeceğinden emin olmanızı sağlar.Modify a collection during enumeration, while ensuring that the original collection does not change.

Sabit koleksiyon sınıfları .NET Core ve .NET 5 + ile kullanılabilir, ancak .NET Framework ile dağıtılan çekirdek sınıf kitaplığının bir parçası değildir.The immutable collection classes are available with .NET Core and .NET 5+, however they're not part of the core class library distributed with .NET Framework. Bunlar, NuGet aracılığıyla .NET Framework 4,5 ile başlayarak kullanılabilir.They're available starting with .NET Framework 4.5 via NuGet.

Sabit koleksiyonları NuGet aracılığıyla yüklemek için:To install the immutable collections via NuGet:

  1. Projenizi Visual Studio 'da açın ve Proje menüsünden NuGet Paketlerini Yönet ' i seçin.Open your project in Visual Studio and choose Manage NuGet Packages from the Project menu.

  2. İsteğe bağlı olarak, ön sürümü dahil et onay kutusunu seçin.Optionally, select the Include prerelease checkbox.

    Bu seçenek, sabit sınıfların kullanılabilir hale geldiğinde yeni yayın öncesi sürümlerine erişmenizi sağlar.This option gives you access to new prerelease versions of the immutable classes, as they become available.

  3. System. Collections. sabit paketini bulmak için arama kutusunu kullanın.Use the Search box to locate the System.Collections.Immutable package.

  4. Sol bölmede System. Collections. sabit paketini seçin.In the left pane, select the System.Collections.Immutable package. Sağ bölmede, istediğiniz sürümü seçin ve ardından Install ' ı seçin.In the right pane, select the desired version and then choose Install.

Yukarıda açıklanan yükleme adımları Visual Studio 2015 içindir.The installation steps described above are for Visual Studio 2015. Visual Studio 'nun diğer sürümleri için, Kullanıcı arabirimindeki (UI) farklılıklar nedeniyle adımlar biraz farklı olabilir.For other versions of Visual Studio, the steps might be slightly different because of differences in the user interface (UI).