Неизменяемый набор в .NET

Есть ли в .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);

Это Использование очень непрозрачно с точки зрения ссылок, что затрудняет оптимизацию и понимание. Есть ли лучший способ сделать это без написания пользовательского типа функционального набора?

6
задан nawfal 16 July 2014 в 06:40
поделиться