IEnumerable এক্সটেনশন পদ্ধতি SingleOrDefault()
এবং বিবেচনা করুনFirstOrDefault()
এমএসডিএন নথি যাSingleOrDefault
:
অনুক্রমের একমাত্র উপাদান বা ক্রমটি খালি থাকলে একটি ডিফল্ট মান প্রদান করে; অনুক্রমের একাধিক উপাদান থাকলে এই পদ্ধতিটি একটি ব্যতিক্রম ছুঁড়ে দেয়।
তবে FirstOrDefault
এমএসডিএন থেকে (সম্ভবত OrderBy()
বা কখনই বা কিছু ব্যবহার OrderByDescending()
না করে),
একটি অনুক্রমের প্রথম উপাদানটি প্রদান করে
মুষ্টিমেয় উদাহরণ কোয়েরি বিবেচনা করুন, কখন এই দুটি পদ্ধতি ব্যবহার করবেন তা সবসময় পরিষ্কার হয় না:
var someCust = db.Customers
.SingleOrDefault(c=>c.ID == 5); //unlikely(?) to be more than one, but technically COULD BE
var bobbyCust = db.Customers
.FirstOrDefault(c=>c.FirstName == "Bobby"); //clearly could be one or many, so use First?
var latestCust = db.Customers
.OrderByDescending(x=> x.CreatedOn)
.FirstOrDefault();//Single or First, or does it matter?
প্রশ্ন
তুমি কি নিয়মাবলী অনুসরণ বা সুপারিশ না যখন না ব্যবহার করার সিদ্ধান্ত নেওয়ার SingleOrDefault()
এবং FirstOrDefault()
আপনার LINQ ক্যোয়ারিগুলিতে?