System.Collections.Immutable 9.0.20

About

This package provides collections that are thread safe and guaranteed to never change their contents, also known as immutable collections. Like strings, any methods that perform modifications will not change the existing instance but instead return a new instance. For efficiency reasons, the implementation uses a sharing mechanism to ensure that newly created instances share as much data as possible with the previous instance while ensuring that operations have a predictable time complexity.

The System.Collections.Immutable library is built-in as part of the shared framework in .NET Runtime. The package can be installed when you need to use it in other target frameworks.

How to Use

using System.Collections.Immutable;

// Create immutable set of strings
ImmutableHashSet<string> colors = ImmutableHashSet.Create("Red", "Green", "Blue");

// Create a new set by adding and removing items from the original set
ImmutableHashSet<string> colorsModified = colors.Remove("Red").Add("Orange");

foreach (string s in colorsModified)
{
    Console.WriteLine(s);
}

/* Example output:
 Blue
 Green
 Orange
 */

Main Types

The main types provided by this library are:

  • System.Collections.Immutable.ImmutableArray
  • System.Collections.Immutable.ImmutableArray<T>
  • System.Collections.Immutable.ImmutableDictionary
  • System.Collections.Immutable.ImmutableDictionary<TKey,TValue>
  • System.Collections.Immutable.ImmutableHashSet
  • System.Collections.Immutable.ImmutableHashSet<T>
  • System.Collections.Immutable.ImmutableList
  • System.Collections.Immutable.ImmutableList<T>
  • System.Collections.Immutable.ImmutableQueue
  • System.Collections.Immutable.ImmutableQueue<T>
  • System.Collections.Immutable.ImmutableSortedDictionary
  • System.Collections.Immutable.ImmutableSortedDictionary<TKey,TValue>
  • System.Collections.Immutable.ImmutableSortedSet
  • System.Collections.Immutable.ImmutableSortedSet<T>
  • System.Collections.Immutable.ImmutableStack
  • System.Collections.Immutable.ImmutableStack<T>
  • System.Collections.Frozen.FrozenDictionary
  • System.Collections.Frozen.FrozenDictionary<TKey, TValue>
  • System.Collections.Frozen.FrozenSet
  • System.Collections.Frozen.FrozenSet<T>

Additional Documentation

Feedback & Contributing

System.Collections.Immutable is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.

Showing the top 20 packages that depend on System.Collections.Immutable.

Packages Downloads
Grpc.Core
Core C# implementation of gRPC - an RPC library and framework. See project site for more info.
88
Grpc.Core
Core C# implementation of gRPC - an RPC library and framework. See project site for more info.
87
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/5905d757a89126ebbcdb383b1a10cadda8c6fdc3.
85
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/b90347a69117be7181e2f03a991790634981eddb.
85
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. Supported Platforms: - .NET Framework 4.5 - Windows 8 - Portable Class Libraries
83
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/2c94423e50a72aea8a4962d8722641d06bc88b13
82
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/49a655e40d938aa74b1d149b407c30cbb2287d71.
82
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/c94e32157c34fa777f674242cd08cfdc98737d62.
81
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/154af84a603094b52bd08b3366c4448f7481af52.
81
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/c3b512958589fecf9e847a73db492cfc92f71a69.
80
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/ce8ac3f71fa4c73b78cf8218d58b322bdbdfa1c9.
80
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/5f00f4d6ffb242a337e21a196aab0593891e430e.
80
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/1cb14195ed43eefdf7f9de59140ff6db70eea76e.
79
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/fb3f812a3e4b7534bef784fa2df1c21d1f67864d.
79
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/20a4c9adb4fd8317c968157ef11add1fbceccacc.
79
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it.
79
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/572b1f0e0da95fd92af710ee58c95e2257cb08e3.
79
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. Supported Platforms: - .NET Framework 4.5 - Windows 8 - Portable Class Libraries
78
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. This package was built from the source at https://github.com/dotnet/roslyn/commit/ab56a4a6c32268d925014a3e45ddce61fba715cd
78
Microsoft.CodeAnalysis.Common
A shared package used by the Microsoft .NET Compiler Platform ("Roslyn"). Do not install this package manually, it will be added as a prerequisite by other packages that require it. More details at https://aka.ms/roslyn-packages This package was built from the source at https://github.com/dotnet/roslyn/commit/e873e69306527a0424e97af2985370556f474019
78

https://go.microsoft.com/fwlink/?LinkID=799421

.NET Framework 4.6.2

.NET 8.0

  • No dependencies.

.NET 9.0

  • No dependencies.

.NET Standard 2.0

Version Downloads Last updated
11.0.0-rc.3.26522.148 2 10/28/2026
11.0.0-rc.2.26504.105 2 10/16/2026
11.0.0-rc.1.26425.128 17 09/09/2026
11.0.0-preview.7.26381.103 22 08/12/2026
11.0.0-preview.6.26359.118 23 07/15/2026
11.0.0-preview.5.26302.115 28 06/10/2026
11.0.0-preview.4.26230.115 31 05/13/2026
11.0.0-preview.3.26207.106 39 04/16/2026
11.0.0-preview.2.26159.112 43 03/11/2026
11.0.0-preview.1.26104.118 43 02/12/2026
10.0.14 2 10/28/2026
10.0.13 2 10/17/2026
10.0.12 12 09/09/2026
10.0.11 18 08/12/2026
10.0.10 26 07/16/2026
10.0.9 27 06/10/2026
10.0.8 32 05/13/2026
10.0.7 35 04/24/2026
10.0.6 37 04/16/2026
10.0.5 41 03/12/2026
10.0.4 38 03/11/2026
10.0.3 48 02/12/2026
10.0.2 49 01/16/2026
10.0.1 49 12/12/2025
10.0.0 68 11/14/2025
10.0.0-rc.2.25502.107 77 10/17/2025
10.0.0-rc.1.25451.107 83 09/09/2025
10.0.0-preview.7.25380.108 79 09/05/2025
10.0.0-preview.6.25358.103 78 09/05/2025
10.0.0-preview.5.25277.114 77 09/05/2025
10.0.0-preview.4.25258.110 83 09/05/2025
10.0.0-preview.3.25171.5 76 09/05/2025
10.0.0-preview.2.25163.2 76 09/05/2025
10.0.0-preview.1.25080.5 78 09/05/2025
9.0.22 2 10/28/2026
9.0.21 2 10/16/2026
9.0.20 12 09/09/2026
9.0.19 19 08/12/2026
9.0.18 20 07/16/2026
9.0.17 28 06/10/2026
9.0.16 34 05/13/2026
9.0.15 34 04/16/2026
9.0.14 39 03/11/2026
9.0.13 43 02/12/2026
9.0.12 47 01/17/2026
9.0.11 66 11/15/2025
9.0.10 75 10/18/2025
9.0.9 74 09/09/2025
9.0.8 74 09/05/2025
9.0.7 76 09/05/2025
9.0.6 77 09/05/2025
9.0.5 79 09/05/2025
9.0.4 80 09/05/2025
9.0.3 77 09/05/2025
9.0.2 77 09/05/2025
9.0.1 78 09/05/2025
9.0.0 76 09/05/2025
9.0.0-rc.2.24473.5 75 09/05/2025
9.0.0-rc.1.24431.7 78 09/05/2025
9.0.0-preview.7.24405.7 78 09/05/2025
9.0.0-preview.6.24327.7 77 09/05/2025
9.0.0-preview.5.24306.7 88 09/05/2025
9.0.0-preview.4.24266.19 78 09/05/2025
9.0.0-preview.3.24172.9 80 09/05/2025
9.0.0-preview.2.24128.5 76 09/05/2025
9.0.0-preview.1.24080.9 74 09/05/2025
8.0.0 76 09/05/2025
8.0.0-rc.2.23479.6 78 09/05/2025
8.0.0-rc.1.23419.4 72 09/05/2025
8.0.0-preview.7.23375.6 77 09/05/2025
8.0.0-preview.6.23329.7 78 09/05/2025
8.0.0-preview.5.23280.8 79 09/05/2025
8.0.0-preview.4.23259.5 73 09/05/2025
8.0.0-preview.3.23174.8 80 09/05/2025
8.0.0-preview.2.23128.3 76 09/05/2025
8.0.0-preview.1.23110.8 76 09/05/2025
7.0.0 79 09/05/2025
7.0.0-rc.2.22472.3 74 09/05/2025
7.0.0-rc.1.22426.10 72 09/05/2025
7.0.0-preview.7.22375.6 75 09/05/2025
7.0.0-preview.6.22324.4 77 09/05/2025
7.0.0-preview.5.22301.12 78 09/05/2025
7.0.0-preview.4.22229.4 80 09/05/2025
7.0.0-preview.3.22175.4 75 09/05/2025
7.0.0-preview.2.22152.2 80 09/05/2025
7.0.0-preview.1.22076.8 78 09/05/2025
6.0.1 79 09/05/2025
6.0.0 80 09/05/2025
6.0.0-rc.2.21480.5 77 09/05/2025
6.0.0-rc.1.21451.13 74 09/05/2025
6.0.0-preview.7.21377.19 77 09/05/2025
6.0.0-preview.6.21352.12 83 09/05/2025
6.0.0-preview.5.21301.5 75 09/05/2025
6.0.0-preview.4.21253.7 75 09/05/2025
6.0.0-preview.3.21201.4 75 09/05/2025
6.0.0-preview.2.21154.6 71 09/05/2025
6.0.0-preview.1.21102.12 74 09/05/2025
5.0.0 79 09/05/2025
5.0.0-rc.2.20475.5 73 09/05/2025
5.0.0-rc.1.20451.14 75 09/05/2025
5.0.0-preview.8.20407.11 79 09/05/2025
5.0.0-preview.7.20364.11 80 09/05/2025
5.0.0-preview.6.20305.6 72 09/05/2025
5.0.0-preview.5.20278.1 80 09/05/2025
5.0.0-preview.4.20251.6 79 09/05/2025
5.0.0-preview.3.20214.6 81 09/05/2025
5.0.0-preview.2.20160.6 74 09/05/2025
5.0.0-preview.1.20120.5 77 09/05/2025
1.7.1 77 09/05/2025
1.7.0 80 09/05/2025
1.7.0-preview3.19551.4 77 09/05/2025
1.7.0-preview2.19523.17 72 09/05/2025
1.7.0-preview1.19504.10 73 09/05/2025
1.6.0 81 09/05/2025
1.6.0-rc1.19456.4 76 09/05/2025
1.6.0-preview9.19421.4 73 09/05/2025
1.6.0-preview9.19416.11 72 09/05/2025
1.6.0-preview8.19405.3 59 09/05/2025
1.6.0-preview7.19362.9 71 09/05/2025
1.6.0-preview6.19303.8 75 09/05/2025
1.6.0-preview6.19264.9 78 09/05/2025
1.6.0-preview5.19224.8 71 09/05/2025
1.6.0-preview4.19212.13 78 09/05/2025
1.6.0-preview3.19128.7 72 09/05/2025
1.6.0-preview.19073.11 74 09/05/2025
1.6.0-preview.18571.3 79 09/05/2025
1.5.0 81 09/05/2025
1.5.0-rc1 78 09/05/2025
1.5.0-preview2-26406-04 80 09/05/2025
1.5.0-preview1-26216-02 75 09/05/2025
1.4.0 76 09/05/2025
1.4.0-preview2-25405-01 77 09/05/2025
1.4.0-preview1-25305-02 82 09/05/2025
1.3.1 81 09/05/2025
1.3.0 80 09/05/2025
1.3.0-preview1-24530-04 77 09/05/2025
1.2.0 78 09/05/2025
1.2.0-rc2-24027 74 09/05/2025
1.1.38-beta-23516 75 09/05/2025
1.1.38-beta-23409 75 09/05/2025
1.1.38-beta-23225 65 09/05/2025
1.1.37 66 09/05/2025
1.1.37-beta-23109 83 09/05/2025
1.1.37-beta-23019 73 09/05/2025
1.1.36 78 09/05/2025
1.1.34-rc 76 09/05/2025
1.1.33-beta 79 09/05/2025
1.1.32-beta 78 09/05/2025