Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
.NET 6

List в List. Как очистить список?

26.05.2023, 12:59. Показов 573. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имею вот такой код для динамического добавления кнопко в telegram-бот:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
            List<List<InlineKeyboardButton>> myObshListKnopok = new List<List<InlineKeyboardButton>>();
            List<InlineKeyboardButton> odinRyad = new List<InlineKeyboardButton>();
 
            int pos = 0;
 
            for (int i = 0; i < myPers.Count; i++)
            {
                if (odinRyad.Count == 4)
                {
                    myObshListKnopok.Add(odinRyad);
                    odinRyad.Clear();
                }
 
                String knopkaText = myPers.ElementAt(i).mPersName;
                String codePers = myPers.ElementAt(i).mCodePres;
 
                odinRyad.Add(InlineKeyboardButton.WithCallbackData(knopkaText, codePers));
                if (i == myPers.Count - 1)
                {
                    myObshListKnopok.Add(odinRyad);
 
                }
            }
Я накапливаю в odinRyad 4 кнопки после чего заполняю этим Listом myObshListKnopok, при выполнении odinRyad.Clear() данные из myObshListKnopok также теряются... Как это обойти?
Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2023, 12:59
Ответы с готовыми решениями:

Как вывести список List, если он находиться в другом списке List?
Не могу разобраться, как так вывести, написал такой код: public class Information { public string Name { get; set; } ...

Вернуть список списков (List<List<>>)
Всем доброго дня! Ситуация следующая, из файла построчно читаются значения, одна строка один список, в каждой строке одинаковое...

Конвертировать один элемент из List<List<Class>> в list и string
Как можно перевести один выбранный элемент из List&lt;List&lt;Data&gt;&gt; myList в list и string? Например, myList. Сейчас я могу с помощью...

7
 Аватар для Andrey-MSK
3360 / 2246 / 388
Регистрация: 14.08.2018
Сообщений: 7,589
Записей в блоге: 4
26.05.2023, 13:52
Elkatib,
C#
1
2
myObshListKnopok.Add(odinRyad);
odinRyad.Clear();
Добавляете коллекцию и тут же её очищаете...
0
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
26.05.2023, 15:34  [ТС]
Andrey-MSK, Ну, да. Я знаю. Так я думал после добавления в myObshListKnopok - она сохраняет уже свои данные и с odinRyad я уже смогу делать все, что захочу. Так как правильно решить этот вопрос?
0
 Аватар для Andrey-MSK
3360 / 2246 / 388
Регистрация: 14.08.2018
Сообщений: 7,589
Записей в блоге: 4
26.05.2023, 15:53
Цитата Сообщение от Elkatib Посмотреть сообщение
Так как правильно решить этот вопрос?
Создать еще одну коллекцию, которая будет хранится в другой. А рабочую заполнять, переносить из неё данные в архив, и очищать.
0
18 / 13 / 5
Регистрация: 08.01.2016
Сообщений: 315
26.05.2023, 16:10  [ТС]
Andrey-MSK, Так все равно же основная коллекция будет хранить данные промежуточной коллекции? По мне так будет тоже самое просто используя еще одну коллекцию, как посредника. Не знаю. Попробую, конечно, сейчас.

Добавлено через 15 минут
Не получается, не знаю, как правильно код написать.
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
28.05.2023, 15:49
Цитата Сообщение от Elkatib Посмотреть сообщение
Я накапливаю в odinRyad 4 кнопки после чего заполняю этим Listом myObshListKnopok, при выполнении odinRyad.Clear() данные из myObshListKnopok также теряются...
Ничего там не теряется, просто вы имеет список пустых списков. Подозреваю что там что-то в духе такого должно быть

C#
1
2
3
4
5
6
                if (odinRyad.Count == 4)
                {
                    myObshListKnopok.Add(odinRyad);
                    odinRyad = new List<InlineKeyboardButton>();
                    odinRyad.Clear();
                }
Но в целом рекомендую таки разобраться с сылочными типами, массивами, чем arr[,] отличается от arr[][] ну и List<T> в целом.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16147 / 11268 / 2890
Регистрация: 21.04.2018
Сообщений: 33,131
Записей в блоге: 2
28.05.2023, 22:43
Цитата Сообщение от Wolfdp Посмотреть сообщение
odinRyad.Clear();
Это же новый список. Зачем его очищать?
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
29.05.2023, 06:04
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Это же новый список. Зачем его очищать?
незачем, Clear действительно лишний в этом случае.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.05.2023, 06:04
Помогаю со студенческими работами здесь

Linq преобразование List<List<double>> в List<Array>
Доброго времени суток, данный код нужно преобразовать linq выражениями и дописать выборку из List&lt;List&lt;double&gt;&gt;. Таким...

Как проще можно очистить коллекцию List в зависимости от предиката (без присваивания)?
Например есть List из объектов &quot;Человек&quot;. Нужно очистить от всех объектов у которых возраст &lt; 18. Без присваивания имел ввиду...

Как узнать размерность внутреннего вектора в массиве List<List<Double>>?
Добрый вечер! Уважаемые, подскажите пожалуйста, как узнать размерность внутренних строк в двумерном массиве типа List? Создаю...

Как перенести конкретный элемент из одного List в другой List
Нужно перенести не ссылку, а именно сам элемент(при учете того что списки имеют одинаковые поля)

List<List<float>> Или как оперировать коллекцией в колекции
Есть ряд точек с координатами x,y, через гипотенузу буду рассчитывать дистанцию друг от друга class CoorXY { public float...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru