Linq дахь сингл болон SingleOrDefault хоёрын ялгаа юу вэ?
Linq дахь сингл болон SingleOrDefault хоёрын ялгаа юу вэ?

Видео: Linq дахь сингл болон SingleOrDefault хоёрын ялгаа юу вэ?

Видео: Linq дахь сингл болон SingleOrDefault хоёрын ялгаа юу вэ?
Видео: Getting started with GraphQL in .NET 2024, Арваннэгдүгээр
Anonim

Ганц бие () - Яг 1 үр дүн байна, ямар ч үр дүн буцаж ирэхгүй эсвэл нэгээс олон үр дүн гарахгүй бол онцгой тохиолдол гардаг. SingleOrDefault () - Үүнтэй адил Ганц бие (), гэхдээ энэ нь тэг утгыг зохицуулж чадна. First() - Наад зах нь нэг үр дүн байгаа бөгөөд хэрэв үр дүн гарахгүй бол онцгой тохиолдол гардаг.

Ийм байдлаар ганц () ба SingleOrDefault () аргуудын хооронд ямар ялгаа байдаг вэ?

The SingleOrDefault() арга -тэй ижил зүйлийг хийдэг Single() арга . Цорын ганц ялгаа Хэрэв цуглуулга хоосон, нэгээс олон элемент орсон эсвэл заасан нөхцөлийн хувьд ямар ч элемент эсвэл нэгээс олон элемент олоогүй тохиолдолд цуглуулгын өгөгдлийн төрлийн өгөгдмөл утгыг буцаана.

Мөн Linq-д дан эсвэл анхдагч гэж юу вэ? Утга зүйн ялгаа: FirstOrDefault нь олон байж болох эхний зүйлийг буцаана (эсвэл анхдагч хэрэв байхгүй бол). SingleOrDefault байдаг гэж үздэг ганц бие зүйл хийгээд буцаана (эсвэл анхдагч хэрэв байхгүй бол). Олон зүйл бол гэрээг зөрчсөн, үл хамаарах зүйл юм.

Үүний дагуу Linq дахь анхны болон ганц бие хоёрын ялгаа юу вэ?

Эхлээд () олж чадахгүй бол шидэх болно эхлээд тохирох үнэ цэнэ, Ганц бие () нь утгыг олж чадахгүй, оролтын дараалалд нэгээс олон тохирох элемент байвал шидэх болно. Тиймээс тэд эгчийн функц гэж нэрлэгддэг FirstOrDefault () болон SingleOrDefault().

Linq дахь FirstOrDefault () ба SingleOrDefault () өргөтгөлийн аргын хооронд ямар ялгаа байдаг вэ?

Танилцуулга. The SingleOrDefault() арга дарааллын нэг тодорхой элемент эсвэл тухайн элемент олдохгүй бол анхдагч утгыг буцаана дахь дараалал. The FirstOrDefault() арга дарааллын эхний тодорхой элемент эсвэл тухайн элемент олдохгүй бол өгөгдмөл утгыг буцаана дахь дараалал.

Зөвлөмж болгож буй: