Как создать класс свойств в C #? - PullRequest
0 голосов
/ 26 марта 2009

Я хочу создать класс, который будет иметь два свойства, например key & value.

И я хочу один метод, который даст мне value на основе key.

Так что за код? Я знаю Hashtable, но как реализовать это в C #? Могу ли я иметь string в качестве ключа?

Ответы [ 7 ]

4 голосов
/ 26 марта 2009

Вот лучший способ реализовать это (я использую Int32 как пример типа для хранения):

Dictionary<String,Int32> dictionary = new Dictionary<String,Int32>
{
    // this just loads up the list with
    // some dummy data - notice that the
    // key is a string and the value is an int
    { "one", 1 },
    { "two", 2 },
    { "three", 3 },
};

Теперь вы можете получать значения из словаря <,> следующим образом:

dictionary["one"]; // returns 1
dictionary["two"]; // returns 2
4 голосов
/ 26 марта 2009

Посмотрите на Dictionary<TKey, TValue> класс: http://msdn.microsoft.com/en-us/library/xfhwa508.aspx

2 голосов
/ 26 марта 2009

A Dictionary<string, T> сделает все, что вы хотите.

1 голос
/ 26 марта 2009

... а также System.Collections.Specialized.NameValueCollection, что примерно эквивалентно Dictionary<string,string>, но позволяет хранить несколько строковых значений под одним и тем же значением ключа. Цитировать документацию MSDN:

Этот класс можно использовать для заголовков, Строки запроса и данные формы.

1 голос
/ 26 марта 2009

Есть еще пара реализаций. Есть HashSet , который предназначен для операций над множествами, и KeyedCollection , который является легко сериализуемой хэш-таблицей.

1 голос
/ 26 марта 2009
1 голос
/ 26 марта 2009

Использование Dictionary<string, TypeOfYourVAlue>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...