Bila hendak menggunakan .First dan .FirstOrDefault dalam LINQ
Bila hendak menggunakan .Pertama?
Gunakan kaedah .First
apabila:
Bila hendak menggunakan .FirstOrDefault?
Gunakan kaedah .FirstOrDefault
apabila:
.Perbandingan kaedah Ambil
Kaedah.Take
berbeza daripada kaedah .First
:
.Take
Mengembalikan urutan yang mengandungi bilangan elemen yang ditentukan. .Take(1)
untuk mendapatkannya. Contoh aplikasi praktikal
Sebagai contoh, jika anda mempunyai senarai nama dan perlu mendapatkan semula nama pertama yang sepadan atau mengendalikan kes bukan padanan, anda boleh menggunakan .FirstOrDefault
:
<code class="language-csharp">List<string> names = GetNames(); string name = names.FirstOrDefault(n => n == "John"); if (name != null) { // 处理找到 "John" 的情况。 } else { // 处理未找到 "John" 的情况。 }</code>
Sebaliknya, jika anda menjangkakan senarai sentiasa mengandungi sekurang-kurangnya satu nama, anda boleh menggunakan .First
untuk mendapatkan terus elemen pertama dan membuang pengecualian jika ia tidak ditemui:
<code class="language-csharp">string name = names.First(n => n == "John");</code>
Atas ialah kandungan terperinci .First vs. FirstOrDefault dalam LINQ: Bila Untuk Menggunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!