Rumah > pembangunan bahagian belakang > C++ > .First() vs. FirstOrDefault() dalam LINQ: Bilakah Saya Perlu Menggunakan Setiap?

.First() vs. FirstOrDefault() dalam LINQ: Bilakah Saya Perlu Menggunakan Setiap?

Susan Sarandon
Lepaskan: 2025-01-26 10:51:10
asal
619 orang telah melayarinya

.First() vs. .FirstOrDefault() in LINQ: When Should I Use Each?
3

Kaedah Linq dan

adalah serupa, tetapi tingkah laku sedikit berbeza. Marilah kita meneroka adegan setiap kaedah secara mendalam. bila hendak menggunakan .firt ()

.First() Jika anda yakin bahawa urutan selalu mengandungi sekurang -kurangnya satu elemen, sila gunakan .FirstOrDefault(). Ia akan mengembalikan elemen sepadan pertama. Jika anda tidak dapat mencari elemen yang sepadan, anda akan membuang keabnormalan "InvalidOperationException". Apabila urutan kosong adalah keadaan yang tidak normal, kaedah ini boleh digunakan.

bila hendak menggunakan .firtonefault () Jika urutan mungkin kosong atau dijangka kosong, sila gunakan

. Sekiranya terdapat elemen yang sepadan, ia akan mengembalikan elemen sepadan pertama; Kaedah ini harus digunakan apabila urutan kosong.

.First() bila hendak menggunakan .take (1)

Kaedah ini sama dengan , tetapi terdapat perbezaan utama. Ia tidak mengembalikan elemen itu sendiri, tetapi mengembalikan urutan yang mengandungi hanya elemen. Perbezaan ini menjadi penting apabila memproses urutan jenis nilai.

Contoh

.FirstOrDefault()

Pertimbangkan urutan berikut:

<.> Gunakan .first ():

.Take(1) .First() Kerana kejadian dalam urutan (2), kod ini akan mengembalikan nilai 2. Sekiranya tidak ada nombor, ia akan membuang pengecualian.

<.> Gunakan .FirtonterFault ():

Dalam kes ini, tidak ada yang sepadan dengan predikat, jadi

mengembalikan nilai lalai integer, iaitu, 0.
<code class="language-csharp">var list = new List<int> { 1, 2, 3 };</code>
Salin selepas log masuk

<.> Gunakan .take (1):

<code class="language-csharp">int result = list.Where(x => x % 2 == 0).First();</code>
Salin selepas log masuk
Kod ini mengembalikan urutan yang mengandungi elemen tunggal 2.

Atas ialah kandungan terperinci .First() vs. FirstOrDefault() dalam LINQ: Bilakah Saya Perlu Menggunakan Setiap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan