Kaedah
dan di LINQ boleh digunakan untuk mencari objek dengan nilai atribut minimum atau maksimum. Walau bagaimanapun, apabila pemprosesan boleh kosong, beberapa pertimbangan tambahan mungkin berlaku. Min()
Max()
orang yang menentukan tarikh lahir terawal
Katakan anda mempunyai senarai objek orang, yang mengandungi atribut yang boleh kosong. Anda mahu menggunakan LINQ untuk mencari tarikh lahir terawal.
satu kaedah adalah menggunakan kaedah DateOfBirth
untuk mendapatkan nilai
Min()
DateOfBirth
tetapi ini hanya akan memberikan tarikh itu sendiri. Jika anda mahukan objek orang yang sepadan, anda boleh melakukan pertanyaan lain:
<code class="language-csharp">var firstBornDate = People.Min(p => p.DateOfBirth.GetValueOrDefault(DateTime.MaxValue));</code>
penyelesaian yang lebih cekap
<code class="language-csharp">var firstBorn = People.Single(p => (p.DateOfBirth ?? DateTime.MaxValue) == firstBornDate);</code>
Daripada menggunakan dua pertanyaan, lebih baik menggunakan kaedah untuk menggabungkan operasi:
Koleksi lelaran kod ini disimpan dalam Aggregate()
. Apabila menghadapi objek orang yang terdahulu, ia akan menggantikan nilai minimum semasa. Akibatnya, orang membantah dengan tarikh lahir terawal.
Atas ialah kandungan terperinci Bagaimanakah saya dapat mencari orang dengan tarikh kelahiran terawal menggunakan Linq?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!