2010-08-23 4 views
0

Мне нужно иметь список (массив, ect) объектов, которые имеют статические значения. Каков наилучший способ (более полезно) организовать такую ​​структуру данных на C#?Выбор структуры данных

Теперь, я могу сделать это с помощью двух способов: 1) Enumarations с дополнительными параметрами: http://www.codeproject.com/KB/cs/stringenum.aspx 2) Создайте некоторый класс с необходимыми полями, а затем создать массив различных экземпляров классов.

Пожалуйста напишите какие методы лучше с комментариями, почему или предоставить другие идеи, как сделать это

ответ

0

Я думаю, что структура данных вы принимаете во многом будет зависеть от того, как вы собираетесь использовать статическую ва сифилис.

Если вы собираетесь проводить много сравнений, я бы предложил перечисление с пользовательскими атрибутами (как описано в вашей ссылке, но, возможно, и дальше), чтобы предоставить дополнительные метаданные. Однако, если структура, содержащая статические значения, будет действовать больше как серия выборов (например, класс Encoding в System.Text), то лучшим вариантом будет статический класс с полями, отмеченными как , только с.

+0

Да, будет много сравнений. В первый раз я остановился на перечислениях, но когда есть много пользовательских атрибутов, код плохо читается и избыточен (для всех атрибутов - их собственные методы) – Anton

0

кортежей для объектов со статическими значениями

+0

Похоже, что Tuple Class доступен с .NET 4.0 http://msdn.microsoft.com/en-us/library/system.tuple.aspx, но я использую 3.5 – Anton

+0

. Вы можете создать свой собственный класс Tupple – 0xAX

0

звучит как классический пример словаря, простой кнопочного Значение отношения http://dotnetperls.com/dictionary-keys

http://en.wikipedia.org/wiki/Associative_array

+0

Но будет много паразмеров, более пяти. Так что использование только словаря полезно. Может быть, мне нужно использовать словарь экземпляров пользовательского класса. – Anton