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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вернуть значение из SortedList 
V
    Опции темы
WERITAS
Дата 12.9.2007, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


********
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 2.5.2005
Где: Москва

Репутация: 3
Всего: 5



доброго времени суток! Есть три массива, они добавлены в коллекцию SortedList. Требуется вернуть значение элемента массива под индексом 5 у объекта "127.0.0.1"

Код

int[] succession1 = new int[20];  
int[] succession2 = new int[20];  
int[] succession3 = new int[20];  

for (int i = 0; i < 20; i++)
{
   succession1[i] = i;
   succession2[i] = i;
   succession3[i] = i;
}

SortedList ObjSL = new SortedList();
ObjSL.Add("127.0.0.1", succession1);
ObjSL.Add("127.0.0.2", succession2);
ObjSL.Add("127.0.0.3", succession3);

// Требуется вернуть значение элемента массива под индексом 5 у объекта "127.0.0.1"   
if (ObjSL.Contains("127.0.0.1"))
{ //?



--------------------
Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак"
PM MAIL   Вверх
zaver
Дата 12.9.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 15.8.2005

Репутация: 1
Всего: 3



((int[])ObjSL["127.0.0.1"])[5]
PM MAIL WWW ICQ Skype YIM MSN   Вверх
WERITAS
Дата 12.9.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


********
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 2.5.2005
Где: Москва

Репутация: 3
Всего: 5



Я вот тоже через приведение типов сделал, правда через as. Но мне так не нравится. Может быть можно через какой-нибудь  Item или итератор??


--------------------
Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак"
PM MAIL   Вверх
zaver
Дата 12.9.2007, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 15.8.2005

Репутация: 1
Всего: 3



нет, ты используешь объекты из первого ДотНета. в .Net 2.0 приводить ничего не надо, т.к. там используются обобщения (generics), а в первом .Net единственный способ сохранять пользовательский тип в коллекциях - это через ссылку типа object, а потому когда получаешь данные из коллекции надо кастовать, т.к. компилятору не изветсно что ты туда засунул, ты вообще можешь совать туда любые типы в перемешку, например:
Код


            int[] succession1 = new int[20];
            char[] succession2 = new char[20];
            int[] succession3 = new int[20];

            for (int i = 0; i < 20; i++)
            {
                succession1[i] = i;
                succession2[i] = i.ToString()[0];
                succession3[i] = i;
            }

            SortedList ObjSL = new SortedList();
            ObjSL.Add("127.0.0.1", succession1);
            ObjSL.Add("127.0.0.2", succession2);
            ObjSL.Add("127.0.0.3", succession3);
            ((char[])ObjSL["127.0.0.2"])[5] = 'c';
            ((int[])ObjSL["127.0.0.1"])[5] = 5;


на совесть программиста
PM MAIL WWW ICQ Skype YIM MSN   Вверх
WERITAS
Дата 12.9.2007, 19:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


********
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 2.5.2005
Где: Москва

Репутация: 3
Всего: 5



Спасибо за ответ. На всякий случай все равно сделал через GetByIndex и as  smile Вопрос закрыт


--------------------
Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак"
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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