¿El .NET BCL tiene un tipo de conjunto inmutable? Estoy de programación en un dialecto funcional de C# y me gustaría hacer algo comoConjunto inmutable en .NET
new Set.UnionWith(A).UnionWith(B).UnionWith(C)
Pero lo mejor que puedo encontrar es HashSet.UnionWith
, lo que requeriría la siguiente secuencia de llamadas:
HashSet composite = new HashSet();
composite.UnionWith(A);
composite.UnionWith(B);
composite.UnionWith(C);
Este el uso es altamente opaco desde el punto de vista referencial, lo que dificulta su optimización y comprensión. ¿Hay una forma mejor de hacerlo sin escribir un tipo de conjunto funcional personalizado?
Esto también puede estar relacionado http: // stackoverflow.com/questions/927181/inmutable-collections – R0MANARMY