2009-03-26 2 views
0

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

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

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

ответ

2

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

+0

спасибо, Мехридад! – Vikas

4

Вот лучший способ осуществить это (я использую 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 
1

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

1

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

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

Смежные вопросы