Kaedah
Penyelesaian: Distinct()
Atas sebab ini, anda boleh mengumpulkan objek mengikut atribut yang diperlukan dan pilih elemen pertama dari setiap kumpulan. Ini akan memberikan anda senarai, objek dalam senarai ini adalah unik untuk atribut yang ditentukan. Contoh:
Pertimbangkan objek orang dengan atribut ID dan nama:
untuk mendapatkan senarai kakitangan yang berbeza berdasarkan atribut ID:
Ini akan menghasilkan senarai yang mengandungi hanya Person1 dan Person3.
<code>Person1:Id=1,Name="Test1" Person2:Id=1,Name="Test1" Person3:Id=2,Name="Test2"</code>
pelbagai atribut:
List<Person> distinctPeople = allPeople .GroupBy(p => p.Id) .Select(g => g.First()) .ToList();
Jika anda perlu berkumpulan mengikut pelbagai atribut, anda boleh menggunakan jenis tanpa nama:
<事> nota:
Beberapa penyedia pertanyaan mungkin perlu menggunakan
bukanList<Person> distinctPeople = allPeople .GroupBy(p => new { p.Id, p.FavoriteColor }) .Select(g => g.First()) .ToList();
Untuk kaedah yang serasi yang serasi dengan LINQ ke entiti (Core EF) (sebelum versi ke -6), sila rujuk jawapan ini: https://www.php.cn/link/7DD21654CE1C39EC763219E71F11
Atas ialah kandungan terperinci Bagaimana cara menggunakan LINQ untuk mendapatkan objek yang berbeza berdasarkan sifat tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!