<PackageReference Include="Microsoft.Packaging.Tools" Version="1.0.0-preview2-25401-01" />

System.Collections.Immutable.ImmutableSortedDictionary<TKey, TValue>

public sealed class ImmutableSortedDictionary<TKey, TValue> : IImmutableDictionary<TKey, TValue>, IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, ISortKeyCollection<TKey>, IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, IDictionary, ICollection
namespace System.Collections.Immutable { public sealed class ImmutableSortedDictionary<TKey, TValue> : IImmutableDictionary<TKey, TValue>, IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, ISortKeyCollection<TKey>, IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, IDictionary, ICollection { public sealed class Builder : IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IDictionary, ICollection { public IEnumerable<TKey> Keys { get; } public IEnumerable<TValue> Values { get; } public int Count { get; } public TValue this[TKey key] { get; set; } public IComparer<TKey> KeyComparer { get; set; } public IEqualityComparer<TValue> ValueComparer { get; set; } object IDictionary.this[object key] { get; set; } public void Add(TKey key, TValue value); public bool ContainsKey(TKey key); public bool Remove(TKey key); public bool TryGetValue(TKey key, out TValue value); public bool TryGetKey(TKey equalKey, out TKey actualKey); public void Add(KeyValuePair<TKey, TValue> item); public void Clear(); public bool Contains(KeyValuePair<TKey, TValue> item); public bool Remove(KeyValuePair<TKey, TValue> item); public Enumerator GetEnumerator(); public bool ContainsValue(TValue value); public void AddRange(IEnumerable<KeyValuePair<TKey, TValue>> items); public void RemoveRange(IEnumerable<TKey> keys); public TValue GetValueOrDefault(TKey key); public TValue GetValueOrDefault(TKey key, TValue defaultValue); public ImmutableSortedDictionary<TKey, TValue> ToImmutable(); } public struct Enumerator : IEnumerator<KeyValuePair<TKey, TValue>>, IEnumerator, IDisposable, ISecurePooledObjectUser { public KeyValuePair<TKey, TValue> Current { get; } public void Dispose(); public bool MoveNext(); public void Reset(); } public static readonly ImmutableSortedDictionary<TKey, TValue> Empty; public IEqualityComparer<TValue> ValueComparer { get; } public bool IsEmpty { get; } public int Count { get; } public IEnumerable<TKey> Keys { get; } public IEnumerable<TValue> Values { get; } public IComparer<TKey> KeyComparer { get; } public TValue this[TKey key] { get; } TValue IDictionary<TKey, TValue>.this[TKey key] { get; set; } object IDictionary.this[object key] { get; set; } public ImmutableSortedDictionary<TKey, TValue> Clear(); public Builder ToBuilder(); public ImmutableSortedDictionary<TKey, TValue> Add(TKey key, TValue value); public ImmutableSortedDictionary<TKey, TValue> SetItem(TKey key, TValue value); public ImmutableSortedDictionary<TKey, TValue> SetItems(IEnumerable<KeyValuePair<TKey, TValue>> items); public ImmutableSortedDictionary<TKey, TValue> AddRange(IEnumerable<KeyValuePair<TKey, TValue>> items); public ImmutableSortedDictionary<TKey, TValue> Remove(TKey value); public ImmutableSortedDictionary<TKey, TValue> RemoveRange(IEnumerable<TKey> keys); public ImmutableSortedDictionary<TKey, TValue> WithComparers(IComparer<TKey> keyComparer, IEqualityComparer<TValue> valueComparer); public ImmutableSortedDictionary<TKey, TValue> WithComparers(IComparer<TKey> keyComparer); public bool ContainsValue(TValue value); public bool ContainsKey(TKey key); public bool Contains(KeyValuePair<TKey, TValue> pair); public bool TryGetValue(TKey key, out TValue value); public bool TryGetKey(TKey equalKey, out TKey actualKey); public Enumerator GetEnumerator(); } }