powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема при доступе к значениям List<>
6 сообщений из 6, страница 1 из 1
Проблема при доступе к значениям List<>
    #38139077
rusik48
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Обращаюсь к базе, а полученные значения копирую в переменную returning_list
Вот так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
            DbDataReader rdr = cmd1.ExecuteReader();
            List<List<object>> returning_list = new List<List<object>>();
            List<object> list1 = new List<object>();
            while (rdr.Read())
            {
                list1.Clear();
                for (int i = 0; i < qty_of_returning_fields; i++)
                {
                    code1 = (int)rdr[0];
                    list1.Add(rdr[i]); 
                }
                returning_list.Add(list1);
            }



теперь хочу считать значения с returning_list
вот так:

Код: c#
1.
2.
3.
4.
5.
                MessageBox.Show("  "
                + "\n returning_list[700][0].ToString() = " + returning_list[700][0].ToString()
                + "\n returning_list[700][1].ToString() = " + returning_list[700][1].ToString()
                + "\n returning_list[700][2].ToString() = " + returning_list[700][2].ToString()
                );



или так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
            foreach (List<object> record in returning_list)
            {
                    MessageBox.Show("1 !action_master8!        "
                    + "\n record[0].ToString() = " + record[0].ToString()
                    + "\n record[1].ToString() = " + record[1].ToString()
                    + "\n record[2].ToString() = " + record[2].ToString()
                    );
            }



Почему то всегда я получаю только одно последнее значение взятое из базы.
Например если в таблице были такие значения:
1, "значение 1", 111
2, "значение 2", 222
3, "значение 3", 333

я всегда получаю только последнюю строку: 3, "значение 3", 333

Почему так?
...
Рейтинг: 0 / 0
Проблема при доступе к значениям List<>
    #38139169
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rusik48, List<T> является ссылочным типом и т.к. ты создаешь всего один его экземпляр, то в итоговый список попадает N ссылок на один и тот же объект. Чтобы исправить ошибку перенеси строку List<object> list1 = new List<object>(); вместо list1.Clear();
...
Рейтинг: 0 / 0
Проблема при доступе к значениям List<>
    #38139174
.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.
Гость
/me думает
интересно куда должен выскочить MessageBox если на сервере, допустим, нет монитора
...
Рейтинг: 0 / 0
Проблема при доступе к значениям List<>
    #38139184
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может вместо мозготраха DataTable получить?
...
Рейтинг: 0 / 0
Проблема при доступе к значениям List<>
    #38139186
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.интересно куда должен выскочить MessageBox если на сервере, допустим, нет монитора
WindowStation есть, монитор опционален
...
Рейтинг: 0 / 0
Проблема при доступе к значениям List<>
    #38139865
rusik48
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazilerusik48, List<T> является ссылочным типом и т.к. ты создаешь всего один его экземпляр, то в итоговый список попадает N ссылок на один и тот же объект. Чтобы исправить ошибку перенеси строку List<object> list1 = new List<object>(); вместо list1.Clear();

да наверно так. я немного по другом сделал, но ошибка была в этом. Спасибо!!!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема при доступе к значениям List<>
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]