ความแตกต่างระหว่าง single และ SingleOrDefault ใน Linq คืออะไร?
ความแตกต่างระหว่าง single และ SingleOrDefault ใน Linq คืออะไร?

วีดีโอ: ความแตกต่างระหว่าง single และ SingleOrDefault ใน Linq คืออะไร?

วีดีโอ: ความแตกต่างระหว่าง single และ SingleOrDefault ใน Linq คืออะไร?
วีดีโอ: FirstOrDefault() vs SingleOrDefault() in C# LINQ | First vs Single 2024, อาจ
Anonim

เดี่ยว () - มี 1 ผลลัพธ์เท่านั้น ข้อยกเว้นจะถูกส่งออกไปหากไม่มีผลลัพธ์ถูกส่งกลับหรือมากกว่าหนึ่งผลลัพธ์ SingleOrDefault () - เหมือนกับ เดี่ยว () แต่สามารถจัดการค่า Null ได้ First() - มีอย่างน้อยหนึ่งผลลัพธ์ ข้อยกเว้นจะถูกส่งออกไปหากไม่มีผลลัพธ์กลับมา

ในลักษณะนี้ วิธี single () และ SingleOrDefault () แตกต่างกันอย่างไร

NS SingleOrDefault() เมธอด ทำสิ่งเดียวกันกับ วิธีเดียว () . เพียง ความแตกต่าง คือการส่งคืนค่าเริ่มต้นของประเภทข้อมูลของคอลเลกชันหากคอลเลกชันว่างเปล่า รวมองค์ประกอบมากกว่าหนึ่งรายการหรือไม่พบองค์ประกอบใด ๆ หรือองค์ประกอบมากกว่าหนึ่งรายการสำหรับเงื่อนไขที่ระบุ

นอกจากนี้ ซิงเกิ้ลหรือค่าเริ่มต้นใน Linq คืออะไร ความแตกต่างทางความหมาย: FirstOrDefault ส่งคืนรายการแรกที่อาจมีหลายรายการ (หรือ ค่าเริ่มต้น ถ้าไม่มีอยู่) SingleOrDefault ถือว่ามี a เดี่ยว รายการและส่งคืน (หรือ ค่าเริ่มต้น ถ้าไม่มีอยู่) หลายรายการมีการละเมิดสัญญามีข้อยกเว้น

ดังนั้นอะไรคือความแตกต่างระหว่าง first และ single ใน Linq?

อันดับแรก () จะโยนถ้าหา.ไม่เจอ แรก ค่าที่ตรงกัน เดี่ยว () จะส่งหากไม่พบค่าและมีองค์ประกอบที่ตรงกันมากกว่าหนึ่งรายการในลำดับอินพุต จึงมีหน้าที่พี่น้องเรียกว่า FirstOrDefault () และ SingleOrDefault()

ความแตกต่างระหว่างวิธีการขยาย FirstOrDefault () และ SingleOrDefault () ใน Linq คืออะไร

บทนำ. NS SingleOrDefault() วิธีการ ส่งกลับองค์ประกอบเฉพาะของลำดับหรือค่าเริ่มต้นหากไม่พบองค์ประกอบนั้น ใน ลำดับ. NS FirstOrDefault() วิธีการ ส่งกลับองค์ประกอบเฉพาะตัวแรกของลำดับหรือค่าเริ่มต้นหากไม่พบองค์ประกอบนั้น ใน ลำดับ.

แนะนำ: