Есть ли в C# аналог множеств Delphi? - CodeHelper

Есть ли в C# аналог множеств Delphi?

2

Допустим, есть какое-то общее множество действий А над объектом. Скажем, оно реализовано перечислением, где каждый элемент перечисления - код какого-то действия. Есть метод, принимающий какой-то объект и возвращающий подмножество возможных действий В над этим объектом. Соответственно В лежит в А. Как это реализуется обычно?

admax

А зачем в дальнейшем используются множества A и B? Возможно ли их заменить списками?

Новые ответы


0

В третьем .NET повился HashSet

1
  1. Можно создать аналог множества, основанный на Hashtable.

  2. Так же можно использовать атрибут Flags для представления "подмножества" перечисления. Однако остается открытым вопрос реализации операций над множествами, без которых такое решение не имеет смысла.

Похоже, стоит искать другой подход к решению исходной проблемы.

admax

Реализация множества в статье — это просто обертка над стандартной коллекцией с поддержкой операций union, intersect и т.п. По моему, она не решает главной задачи множеств — позволять объявлять переменные типа множества.

Alexander

Да, мы не можем написать что-то типа set of integer. Однако set of SomeEnum, думаю, вполне реализуем через рефлексию.

0

Прямого аналога set of в C# нет. Возможные варианты реализации — через перечисления либо через списки.


v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.