Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> map в С#, не могу найти 
:(
    Опции темы
Artiom
Дата 8.9.2005, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: нет
Всего: 17



Есть ли в С# что-то вроде стандартного контейнера map? Или что можно использовать вместо него?


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
Дрон
Дата 8.9.2005, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 93



System.Collections.Hashtable

PS: Этот вопрос лучше было отправлять в раздел Библиотека .NET

Это сообщение отредактировал(а) Дрон - 8.9.2005, 16:45


--------------------
Да. Именно так.
PM   Вверх
Artiom
Дата 8.9.2005, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: нет
Всего: 17



Цитата
PS: Этот вопрос лучше было отправлять в раздел Библиотека .NET

Учту.

Цитата
System.Collections.Hashtable

Что-то слишком сложно. Мне всего-то надо сформировать несколько пар key-value, читать в строки keys, анализировать, присваивать values значения в зависимости от результатов анализа.
Как вообще осуществяется доступ к значению по известному ключу (чтобы изменить значание)?


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
Дрон
Дата 8.9.2005, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 93



Цитата(Artiom @ 8.9.2005, 18:09)
Что-то слишком сложно. Мне всего-то надо сформировать несколько пар key-value, читать в строки keys, анализировать, присваивать values значения в зависимости от результатов анализа.
Как вообще осуществяется доступ к значению по известному ключу (чтобы изменить значание)?

Есть ещё
System.Collections.Specialized.NameValueCollection -- но это тот же Hashtable, только для string-ов.

Ничего в нём сложного нет smile



--------------------
Да. Именно так.
PM   Вверх
arilou
Дата 8.9.2005, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(Artiom @ 8.9.2005, 17:09)
Что-то слишком сложно.

Что сложно?

Код

using System.Collections;

...................

Hashtable hash = new Hashtable();
hash.Add("key1", "value1");
hash.Add("key2", "value2");

hash["key1"] = "newvalue1";
hash["key2"] = "newvalue2";

// перебор элементов.
IEnumerator hashEnumer = (IEnumerator)hash.GetEnumerator();

while(hashEnumer.MoveNext())
{
  DictionaryEntry de = (DictionaryEntry)hashEnumer.Current;
  
  Console.WriteLine(de.Key);
  Console.WriteLine((string)de.Value); // конечно, если value.GetType() == typeof(string)
}



Учите матчасть. smile В MSDN'е это все доступно описано.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
mr.DUDA
Дата 9.9.2005, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Ещё проще:
Код

            Hashtable map = new Hashtable();

            // так можно добавлять, изменять 
            // и получать значения по ключу:
            map["key1"] = "value1";
            map["key2"] = "value2";
            map["key1"] = "changed_value1";
            string value1 = (string)map["key1"];
            
            // так можно получить все ключи (keys)
            // в виде массива строк:
            string[] keys = new string[map.Count];
            map.Keys.CopyTo(keys, 0);

            // так можно определить, если ли ключ в мапе:
            if(map.ContainsKey("key1"))
            {
                // ...
            }

            // так можно удалить элемент:
            map.Remove("key2");




--------------------
user posted image
PM MAIL WWW   Вверх
Artiom
Дата 9.9.2005, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1031
Регистрация: 11.3.2003
Где: Минск\Баку

Репутация: нет
Всего: 17



arilou
спасибо, мысль понял.

mr.DUDA, спасибо
это
Код

  // так можно получить все ключи (keys)    
            // в виде массива строк:    
            string[] keys = new string[map.Count];    
            map.Keys.CopyTo(keys, 0);


Как раз то мне надо! Так и думал что есть простой способ.


--------------------
Если тебя жизнь трахает, значит, ты ещё живой
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0520 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.