List с элементом-классом, и работа с ним - C#
Формулировка задачи:
Стоит задача создать список, элементы которого представлены в виде классов.
1. Не получается сделать по нему поиск, ругается "An unhandled exception of type 'System.InvalidOperationException' occurred in mscorlib.dll (Additional information: Коллекция была изменена; невозможно выполнить операцию перечисления.)"
2. Как на последнем элементе в "forech" определить, что это последний элемент в списке?
Сразу буду приводить код, чтобы было понятней:
Прошу помощи!
class Program { public class Message //создаём класс { public int ID { get; set; } public int count { get; set; } public int Num_data { get; set; } public System.DateTime tg_time { get; set; } } List<Message> arrList = new List<Message>(); //создаём лист с элементами класса var mess12 = new Message(); //объявляем переменную класс и наполняем её тестовыми значениями mess12.count =0; mess12.ID= 22; mess12.Num_data=28; for (int i=0; i < 10;i++ ) //цикл по заполнению списка значениями { mess12.count = 0+i; mess12.ID = 22+i; mess12.Num_data = 28+i; mess12.tg_time = DateTime.Now; arrList.Add(mess12); } //работа со списком - ищем вхождение, если нет такого элемента то добавляем в список foreach (var el in arrList) //вот здесь он мне пишет что An unhandled exception of type 'System.InvalidOperationException' occurred in mscorlib.dll (Additional information: Коллекция была изменена; невозможно выполнить операцию перечисления.) { if (el.ID == 33) { Console.WriteLine("Вхождение"); } else { if (//вот здесь нужно как-то проверить, что элемент на котором мы сейчас находимся равен arrList.Count) и тогда дописать новый элемент mess12.count = 1; mess12.ID = 33; mess12.Num_data = 28; mess12.tg_time = DateTime.Now; arrList.Add(mess12); } } foreach (var el in arrList) { Console.WriteLine(el.ID + " " + el.count + " " + el.Num_data + " " + el.tg_time); }
Решение задачи: «List с элементом-классом, и работа с ним»
textual
Листинг программы
if (arrList.Where(x => x.ID == 33).Count() == 0) { //если нет элемента с ID равным 33, то добавляем }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д