Saya mencoba menggunakan Linq untuk mengembalikan daftar id yang diberikan daftar objek di mana id adalah properti. Saya ingin dapat melakukan ini tanpa mengulangi setiap objek dan mengeluarkan id unik yang saya temukan.
Saya memiliki daftar objek bertipe MyClass dan salah satu properti kelas ini adalah ID.
public class MyClass
{
public int ID { get; set; }
}
Yang ingin saya lakukan adalah menulis kueri Linq untuk mengembalikan saya daftar Id tersebut
Bagaimana saya melakukan itu dengan memberikan IList<MyClass>
sedemikian sehingga mengembalikan IEnumerable<int>
id?
Saya yakin itu harus dilakukan dalam satu atau dua baris menggunakan Linq daripada mengulang-ulang setiap item dalam daftar MyClass dan menambahkan nilai-nilai unik ke dalam daftar.
Bantuan apa pun dalam menciptakan solusi elegan akan sangat dihargai!
DistinctBy
di MoreLinq yang akan memberi Anda berbedaMyClass
berdasarkanID
. Penggunaan:var distincts = list.DistinctBy(x => x.ID);
Jawaban:
sumber
Gunakan operator Berbeda :
sumber
Menggunakan Linq lurus , dengan
Distinct()
ekstensi:sumber
KELUARAN
1234567890
sumber
Ketika mengambil Distinct kita harus menggunakan IEnumerable juga. Jika daftar berarti model, perlu menulis kode seperti ini
sumber