Saya tahu dalam tata bahasa Linq normal, orderby xxx descending
sangat mudah, tetapi bagaimana saya melakukan ini dalam ekspresi Lambda?
250
Seperti yang dikatakan Brannon, ini OrderByDescending
dan ThenByDescending
:
var query = from person in people
orderby person.Name descending, person.Age descending
select person.Name;
setara dengan:
var query = people.OrderByDescending(person => person.Name)
.ThenByDescending(person => person.Age)
.Select(person => person.Name);
Gunakan
System.Linq.Enumerable.OrderByDescending()
?Sebagai contoh:
sumber
Coba ini:
sumber
Coba ini dengan cara lain:
Pertanyaan. Lalu
sumber
Ini hanya berfungsi dalam situasi di mana Anda memiliki bidang angka, tetapi Anda dapat meletakkan tanda minus di depan nama bidang seperti:
Namun ini bekerja sedikit berbeda dari
OrderByDescending
ketika Anda menjalankannya diint?
ataudouble?
ataudecimal?
bidang.Apa yang akan terjadi adalah pada
OrderByDescending
nol akan ada di akhir, vs dengan metode ini nol akan ada di awal. Yang berguna jika Anda ingin mengacak nol tanpa membelah data menjadi beberapa bagian dan menyambungnya nanti.sumber
LastOrDefault()
biasanya tidak bekerja tetapi denganTolist()
itu akan berhasil. Tidak perlu menggunakanOrderByDescending
gunakanTolist()
seperti ini.sumber