Имеет ли .NET BCL неизменяемый тип набора? Я программирования в функциональном диалекте C# и хотел бы сделать что-то вродеНеизменяемый набор в .NET
new Set.UnionWith(A).UnionWith(B).UnionWith(C)
Но лучшее, что я могу найти HashSet.UnionWith
, что потребует следующую последовательность вызовов:
HashSet composite = new HashSet();
composite.UnionWith(A);
composite.UnionWith(B);
composite.UnionWith(C);
Это использование сильно ссылочно непрозрачно, что затрудняет оптимизацию и понимание. Есть ли лучший способ сделать это без написания настраиваемого типа набора функций?
Это также может быть связанными с http: // stackoverflow.com/questions/927181/immutable-collections – R0MANARMY