সূচী দ্বারা একটি তালিকা আইটেম পাওয়া


321

আমি সম্প্রতি জাভা থেকে সরানো # সি ব্যবহার শুরু করেছি। আমি সূচী অনুসারে কীভাবে একটি তালিকা আইটেম পেতে পারি তা দেখতে পাচ্ছি না। জাভাতে তালিকার প্রথম আইটেমটি পেতে এটি হবে:

list1.get(0);

সি # তে সমমান কত?


4
দেখুন stackoverflow.com/questions/5326874/... কিনা হিসেবে [] অপারেটর বা ElementAt () মেথড ব্যবহার করতে কিছু আলোচনার জন্য।
এনজিএম

উত্তর:


362
list1[0];

ধরে নিচ্ছি তালিকার ধরণের একটি সূচক সংজ্ঞায়িত করা আছে।


5
একমাত্র উত্তর যা ব্যাখ্যা করে যে কেন কোনও তালিকাতে অ্যাক্সেস করা সম্ভব, যা কোন বস্তুর মতো, অ্যারের মতো
প্রশানদ

এটি কি তালিকার অবজেক্টের একটি অনুলিপি ফেরত দেয়? আপত্তি = তালিকা [0]; list.clear (); // আপত্তি এখনও জনবহুল হবে?
পল ম্যাকার্থি

1
@ পল ম্যাকার্থি: আপনি সহজেই এটি পরীক্ষা করতে পারেন তবে হ্যাঁ। একটি তালিকা অবজেক্টের রেফারেন্স ধারণ করে। তালিকাটি সাফ করা এর মধ্যে থাকা বস্তুগুলিকে প্রভাবিত করে না। যদি এই বিষয়গুলির জন্য অন্য কোনও উল্লেখ না থাকে তবে সেগুলি কোনও এক সময় সংগ্রহ করা আবর্জনা হবে।
মিচ গম

241

আপনি তালিকায় এলিমেন্টআট এক্সটেনশন পদ্ধতিটি ব্যবহার করতে পারেন।

উদাহরণ স্বরূপ:

// Get the first item from the list

using System.Linq;

var myList = new List<string>{ "Yes", "No", "Maybe"};
var firstItem = myList.ElementAt(0);

// Do something with firstItem

24
শুধু লক্ষ্য করুন যে এলিমেন্টআট () এর প্রয়োজন using System.Linq;
এনজিএম

16
স্ট্যান্ডার্ড myList[0]স্বরলিপি থেকে এই কোনও সুবিধা আছে ?
অ্যানালগ উইপন

5
"আমি কেন এনিউমারেবল.এলিমেন্ট অ্যাট () বনাম [] অপারেটরটি ব্যবহার করব?" stackoverflow.com/questions/5326874/...
Lavande

3
.ElementAtOrDefault();
amit jha

@ অ্যানালগ উইপন হ্যাঁ আছে - আপনি এটি একটি নাল নিরাপদ চেইনের অংশ হিসাবে ব্যবহার করতে পারেন, উদাহরণস্বরূপ myCollectionWhichMightBeNull?.ElementAt(0)বা আবার অস্তিত্বের উপাদানটির সুরক্ষার জন্য:myCollection.ElementAtOrDefault(0)?.SomeProperty
ক্রিস ময়ূর

27

ভিজ্যুয়াল বেসিক, সি #, এবং সি ++ সবার কাছে আইটেমের সম্পত্তিটির নাম ব্যবহার না করে অ্যাক্সেসের জন্য সিনট্যাক্স রয়েছে। পরিবর্তে, তালিকাটি সহ ভেরিয়েবলটি ব্যবহার করা হয় যেন এটি কোনও অ্যারে ছিল।

List[index]

উদাহরণস্বরূপ দেখুন: https://msdn.microsoft.com/en-us/library/0ebtbkkc(v=vs.110).aspx


18

পুরানো প্রশ্ন, তবে আমি দেখতে পাচ্ছি যে এই থ্রেডটি সম্প্রতি বেশ সক্রিয় ছিল, তাই আমি এগিয়ে গিয়ে আমার দুটি সেন্টে ফেলে দেব:

মিচ যা বলেছিল তা অনেক সুন্দর। যথাযথ সূচিকাগুলি ধরে নেওয়া, আপনি কেবল এগিয়ে যেতে পারেন এবং বর্গাকার বন্ধনী চিহ্নিতকরণটি ব্যবহার করতে পারেন যেমন আপনি কোনও অ্যারে অ্যাক্সেস করছেন। সংখ্যাসূচক সূচকটি ব্যবহার করার সাথে সাথে, যদিও আপনার সদস্যদের নির্দিষ্ট নাম থাকলে আপনি প্রায়শই এরকম কিছু লিখে টাইপ করে এক সাথে একযোগে অনুসন্ধান / অ্যাক্সেস করতে পারেন:

var temp = list1["DesiredMember"];

আপনি আরও জানেন, তাই না?


0

.NET Listডেটা স্ট্রাকচার হ'ল Array"মিউটেবল শেল"।

সুতরাং এর উপাদানগুলিতে অ্যাক্সেসের জন্য আপনি সূচকগুলি ব্যবহার করতে পারেন:

var firstElement = myList[0];
var secondElement = myList[1];

সি # 8.0 দিয়ে শুরু করে আপনি উপাদানগুলি অ্যাক্সেসের জন্য ক্লাস Indexএবং Rangeক্লাস করতে পারেন । তারা অনুক্রমের শেষে থেকে অ্যাক্সেস সরবরাহ করে বা কেবল ক্রমের একটি নির্দিষ্ট অংশে অ্যাক্সেস সরবরাহ করে:

var lastElement = myList[^1]; // Using Index
var fiveElements = myList[2..7]; // Using Range, note that 7 is exclusive

আপনি সূচি এবং রেঞ্জগুলি একত্রিত করতে পারেন:

var elementsFromThirdToEnd = myList[2..^0]; // Index and Range together

এছাড়াও আপনি লিনকিউ ElementAtপদ্ধতি ব্যবহার করতে পারেন তবে 99% ক্ষেত্রে এটি সত্যিই প্রয়োজনীয় নয় এবং কেবল ধীর পারফরম্যান্স সমাধান।


0

আপনি তালিকা উপাদান অ্যাক্সেস করতে সূচক ব্যবহার করতে পারেন

List<string> list1 = new List<string>();
list1[0] //for getting the first element of the list
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.