Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
List<int> nums = [1, 2, 3];
var big = nums.Where(n => n > 1);
List<int> copy = big.ToList();
nums.Add(4);
Console.WriteLine($"{big.Count()} {copy.Count}");3 2
- Ждать
2 2:Whereне отбирает элементы в своей строке; запрос выполняется, когда его перебираетCount(), уже после добавления4. - Считать, что результат
ToList()остаётся связанным со списком: метод сразу выполняет запрос и сохраняет отдельный список, куда поздние изменения не доходят.
- Что напечатает программа, если заменить
nums.Add(4);наnums.Clear();? - Почему изменение
numsвнутриforeachпоbigприводит к исключению?