Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2014, 00:43   #1
aliqulu
 
Регистрация: 08.11.2011
Сообщений: 9
По умолчанию Присвоить значения полям класса из Dictionary

Здравствуйте, ребята. помогите новичку. Подскажите, если не сложно.
Код:
int i = 0;
            ClassVivod[] vivod = new ClassVivod[dic1.Count];
            foreach (KeyValuePair<string, string> pair in dic1)
            {
 
                vivod[i]._key = pair.Key;
                vivod[i]._valueXML_1=pair.Value;
                i++;
            }
выводит ошибку:NullReferenceException Ссылка на объект не указывает на экземпляр объекта.
aliqulu вне форума Ответить с цитированием
Старый 14.03.2014, 01:02   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

так?
Код:
int i = 0;
            ClassVivod[] vivod = new ClassVivod[dic1.Count];
            foreach (KeyValuePair<string, string> pair in dic1)
            { 
                vivod[i] = new ClassVivod();
                vivod[i]._key = pair.Key;
                vivod[i]._valueXML_1=pair.Value;
                i++;
            }
а вообще всё это пишется в одну строчку:
Код:
        ClassVivod[] vivod = dic1.Select(pair => new ClassVivod {_key = pair.Key, _valueXml_1 = pair.Value}).ToArray();
Благодарить в репутацию. Проклинать — туда же

Последний раз редактировалось Luuzuk; 14.03.2014 в 10:12.
Luuzuk вне форума Ответить с цитированием
Старый 14.03.2014, 13:19   #3
aliqulu
 
Регистрация: 08.11.2011
Сообщений: 9
По умолчанию

Благодарю!
сделал так:
var vivod = dic1.Select(
kvp => new ClassVivod()
{
_key = kvp.Key,
_valueXML_1 = kvp.Value
})
.ToArray();

Теперь другая проблема. У ClassVivod есть еще одно поле _valueXML_2. Туда надо записывать значение из dic2 при условии что _key = dic2.Key..если не сложно, подскажите как.
aliqulu вне форума Ответить с цитированием
Старый 14.03.2014, 15:10   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Просто еще один цикл добавьте, а в нем уже сравнивайте _key и dic2.Key. Если равны, то пишите значение в _valueXML_2
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к полям класса -спискам zl@dey Общие вопросы C/C++ 1 31.03.2012 04:06
Последовательное обращение к полям класса zigler C# (си шарп) 2 04.03.2012 14:20
Метод присваивающий значения полям класса anlu Общие вопросы C/C++ 7 17.12.2011 21:38
Метод к полям класса; vovunisaev Общие вопросы C/C++ 2 08.04.2009 14:19