আপনি লিনক ক্যোয়ারী সিনট্যাক্সটি কতটা পছন্দ তা নির্ভর করে, আপনি সরাসরি এক্সটেনশন পদ্ধতিগুলি ব্যবহার করতে পারেন:
var item = Items.First(i => i.Id == 123);
এবং যদি তালিকাটি খালি থাকে তবে আপনি কোনও ত্রুটি ছুঁড়তে না চান, FirstOrDefault
যা উপাদান ধরণের ( null
রেফারেন্স ধরণের জন্য) জন্য ডিফল্ট মান দেয় তা ব্যবহার করুন :
var item = Items.FirstOrDefault(i => i.Id == 123);
if (item != null)
{
// found it
}
Single()
এবং SingleOrDefault()
এটি ব্যবহার করা যেতে পারে, তবে আপনি যদি কোনও ডাটাবেস বা কিছু ইতিমধ্যে স্বতন্ত্রতার গ্যারান্টি থেকে পড়তে থাকেন তবে আমি কোনও উদ্বেগ এবং নিক্ষেপ আছে কিনা তা দেখার জন্য তালিকাটি স্ক্যান করতে হবে বলে আমি বিরক্ত করব না। First()
এবং FirstOrDefault()
প্রথম ম্যাচে থামুন, তাই তারা আরও দক্ষ।
এর First()
এবং Single()
পরিবার, এখানে যেখানে তারা নিক্ষেপ:
First()
- ফাঁকা থাকলে / খুঁজে পাওয়া যায় না, নকল হলে ছুঁড়ে না
FirstOrDefault()
- খালি / পাওয়া না গেলে ডিফল্ট ফিরিয়ে দেয়, সদৃশ হলে নিক্ষেপ করবে না
Single()
- খালি / পাওয়া না গেলে নিক্ষেপ করে, নকল উপস্থিত থাকলে ছোঁড়ে
SingleOrDefault()
- খালি / পাওয়া না গেলে ডিফল্ট ফিরিয়ে দেয়, সদৃশ উপস্থিত থাকলে নিক্ষেপ করে
Single()
এবংSingleOrDefault()
যদি আমি জানি যে ডেটা ইতিমধ্যে স্বতন্ত্র (উদাহরণস্বরূপ একটি ডাটাবেস থেকে যে সীমাবদ্ধতা ইত্যাদি রয়েছে), যেহেতুSingle()
সম্ভাব্য সদৃশ সন্ধানের জন্য এটি বাকী তালিকাকে স্ক্যান করতে বাধ্য করে, তবে তা আমিই। এই মুহুর্তে আপনার স্বতন্ত্রতা প্রয়োগ করার প্রয়োজনSingle()
হলে পরিবার ব্যবহার করুন , যদি না হয় তবেFirst()
পরিবারটি ব্যবহার করুন ।