Linq дахь first болон FirstOrDefault хоёрын ялгаа юу вэ?
Linq дахь first болон FirstOrDefault хоёрын ялгаа юу вэ?

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

Видео: Linq дахь first болон FirstOrDefault хоёрын ялгаа юу вэ?
Видео: Día Del Trabajador 2024, Арваннэгдүгээр
Anonim

хошууч First болон FirstOrDefault хоорондын ялгаа тийм үү Эхлээд () Хэрэв нийлүүлсэн шалгуурын үр дүнгийн өгөгдөл байхгүй бол онцгой тохиолдол гаргах болно FirstOrDefault () үр дүнгийн өгөгдөл байхгүй бол анхдагч утгыг (null) буцаана.

Үүнээс гадна Linq дахь first () болон FirstOrDefault () Select аргуудын хооронд ямар ялгаа байдаг вэ?

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

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

Нэмж дурдахад, Linq-д FirstOrDefault ямар ашиг тустай вэ?

FirstOrDefault () Дарааллын эхний элемент буюу элемент олдохгүй бол анхдагч утгыг буцаана. Энэ нь зөвхөн эх үүсвэр нь хоосон байвал алдаа гаргадаг. чи тэгэх ёстой ашиглах Хэрэв нэгээс олон элемент хүлээгдэж байгаа бөгөөд та зөвхөн эхний элементийг хүсч байвал. Үр дүн нь хоосон байвал сайн.

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

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

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