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