Что выведет код Middle Коллекции и LINQ обновлено
Стабильная сортировка OrderBy
Вопрос
Что выведет программа (.NET 8)? По строке на каждый вывод.
var people = new[] { ("Оля", 30), ("Иван", 25), ("Анна", 30), ("Петр", 25) };
foreach (var p in people.OrderBy(p => p.Item2))
Console.WriteLine(p.Item1);
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: Иван, Петр, Оля, Анна. OrderBy в LINQ стабилен: элементы с равным ключом сохраняют исходный порядок.
Что выведет
Иван
Петр
Оля
Анна
Разбор
OrderBy в LINQ стабилен: элементы с равным ключом сохраняют исходный порядок. Сначала все с возрастом 25 в исходном порядке (Иван, Петр), затем 30 (Оля, Анна). Array.Sort и List.Sort, наоборот, нестабильны.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.