Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ SymmetricExcept() [3/3]

static MutationResult System.Collections.Immutable.ImmutableHashSet< T >.SymmetricExcept ( IEnumerable< T > other,
MutationInput origin )
inlinestaticprivate

Definition at line 1133 of file ImmutableHashSet.cs.

1134 {
1135 Requires.NotNull(other, "other");
1136 ImmutableHashSet<T> immutableHashSet = ImmutableHashSet.CreateRange(origin.EqualityComparer, other);
1137 int num = 0;
1139 foreach (T item in new NodeEnumerable(origin.Root))
1140 {
1142 {
1143 MutationResult mutationResult = Add(item, new MutationInput(root, origin.EqualityComparer, origin.HashBucketEqualityComparer, num));
1144 root = mutationResult.Root;
1145 num += mutationResult.Count;
1146 }
1147 }
1148 foreach (T item2 in immutableHashSet)
1149 {
1150 if (!Contains(item2, origin))
1151 {
1152 MutationResult mutationResult2 = Add(item2, new MutationInput(root, origin.EqualityComparer, origin.HashBucketEqualityComparer, num));
1153 root = mutationResult2.Root;
1154 num += mutationResult2.Count;
1155 }
1156 }
1157 return new MutationResult(root, num, CountType.FinalValue);
1158 }
bool ICollection< KeyValuePair< TKey, TValue > >. Contains(KeyValuePair< TKey, TValue > keyValuePair)
ImmutableHashSet(IEqualityComparer< T > equalityComparer)

References System.Add, System.Collections.Generic.Dictionary< TKey, TValue >.Contains(), System.Collections.Immutable.ImmutableHashSet< T >.Contains(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Collections.Immutable.ImmutableHashSet< T >.MutationInput.EqualityComparer, System.item, and System.other.