.net 7 представил метод OrderDescending LINQ. Я прочитал официальную документацию и не обнаружил, почему это было введено, если orderbydescending метод уже существует. Я заметил, что оба Metod реализованы с использованием отложенного выполнения, но я обнаружил, что основное отличие состоит в том, что OrderDescending не имеет никакой подписи, которая получает func , с другой стороны, OrderBydescending Метод имеет его. < /p>
Простой код, подобный этому, даст тот же результат: < /p>
Код: Выделить всё
int[] numbers = new int[] { 3, 5, 7, 8, 6, 9 };
var result1 = numbers.OrderDescending().ToList(); // 9, 8, 7, 6, 5, 3
var result2 = numbers.OrderByDescending(x => x).ToList(); // 9, 8, 7, 6, 5, 3
< /code>
Оба метода смотрят, что они обеспечивают одинаковую послушность для этого сценария. Поскольку OrderDescending
является новейшим введенным методом в LINQ, он выглядит проще, и мы можем достичь того же эффекта, передавая простое выражение Lambda в OrderBydescending Like: OrderByDescending (x => x); .
сказал, что был введен метод реальной цели.>
Подробнее здесь:
https://stackoverflow.com/questions/794 ... 7-versions