তালিকায় অবস্থানে [x] উপাদান উপস্থিত রয়েছে কিনা তা পরীক্ষা করুন


91

আমার কাছে যদি স্ট্রিংগুলির একটি তালিকা থাকে

List<String> list = new list<String>();
list.add("str1");
list.add("str2");
list.add("str3");

এবং আমি জানতে চাই যে উদাহরণস্বরূপ সূচক পজিশনে 2 তে কোনও উপাদান রয়েছে কিনা, তালিকার দৈর্ঘ্য গণনা করা বা চেষ্টা না করে ব্যবহার করার কোনও সহজ উপায় আছে কি?

যেহেতু এটি ব্যর্থ হবে, আমি এটি চেষ্টা করে ধরতে পারি তবে এটি অত্যধিক বলে মনে হয়

if(list.ElementAt(2) != null)
{
   // logic
}

উত্তর:


224
if(list.ElementAtOrDefault(2) != null)
{
   // logic
}

এলিমেটআরডিফল্ট () নাম স্থানের অংশ System.Linq

আপনার একটি তালিকা থাকলেও আপনি ব্যবহার করতে পারেন list.Count > 2


4
নিয়মিত তুলনায় আরও দ্রুত পড়তে হবে
এফেক্ট করুন

4
আপনি ব্যবহার করতে পারবেন ?? অপারেটর যেমন। list.ElementAtOrDefault(2)??defaultvalue
জর্জি কার্গাকিস

12
if (list.Count > desiredIndex && list[desiredIndex] != null)
{
    // logic
}

4
এমনকি যদি তালিকা.কাউন্ট> পছন্দসই ইনডেক্স সন্তুষ্ট থাকে তবে উপাদানটি পুনরুদ্ধার করলে সূচি <0
9

4
ভাল, nitpicking thats। পছন্দসই ইন্ডেক্স সম্ভবত পজিটিভ নম্বর হবে। যদি এটি নির্ভরযোগ্য দাবি না হয় তবে কেবল ইচ্ছাকৃত ইনডেক্স> -1 .. যোগ করুন
সাবজেক্টএক্স

4
@ সাবজেক্টএক্স - নিটপিকিং নয়। প্রত্যাবর্তিত সূচকটি ব্যবহার করা সাধারণ, IndexOfযা দ্বারা -১ হতে পারে
কাইল ডেলানী

0
int? here = (list.ElementAtOrDefault(2) != 0 ? list[2]:(int?) null);

4
কোড-কেবল উত্তরগুলি নিরুৎসাহিত করা হয়েছে কারণ তারা কীভাবে সমস্যাটি সমাধান করে তা ব্যাখ্যা করে না। এই প্রশ্নটি ইতিমধ্যে অন্যান্য স্বীকৃত এবং আপত্তিকৃত উত্তরে কীভাবে এটি উন্নতি করে তা বোঝাতে আপনার উত্তর আপডেট করুন। এছাড়াও, এই প্রশ্নটি 7 বছরের পুরানো, আপনার প্রচেষ্টাটি এমন ব্যবহারকারীদের দ্বারা আরও প্রশংসা করা হবে যাদের সাম্প্রতিক উত্তর না দেওয়া প্রশ্ন রয়েছে। দয়া করে পর্যালোচনা করুন আমি কীভাবে একটি ভাল উত্তর লিখি
ফ্লফিকিটেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.