मैंने हाल ही में जावा से c # मूविंग ओवर का उपयोग शुरू किया है। मैं यह नहीं जान सकता कि सूचकांक द्वारा सूची आइटम कैसे प्राप्त किया जाए। जावा में सूची का पहला आइटम प्राप्त करने के लिए यह होगा:
list1.get(0);
C # में समतुल्य क्या है?
मैंने हाल ही में जावा से c # मूविंग ओवर का उपयोग शुरू किया है। मैं यह नहीं जान सकता कि सूचकांक द्वारा सूची आइटम कैसे प्राप्त किया जाए। जावा में सूची का पहला आइटम प्राप्त करने के लिए यह होगा:
list1.get(0);
C # में समतुल्य क्या है?
जवाबों:
list1[0];
मान लें कि सूची के प्रकार में एक अनुक्रमणिका परिभाषित है।
आप सूची में ElementAt एक्सटेंशन विधि का उपयोग कर सकते हैं।
उदाहरण के लिए:
// 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
using System.Linq;
।
myList[0]
अंकन से इसका कोई लाभ है?
.ElementAtOrDefault();
myCollectionWhichMightBeNull?.ElementAt(0)
या किसी गैर-मौजूद तत्व को फिर से सुरक्षित करने के लिए:myCollection.ElementAtOrDefault(0)?.SomeProperty
Visual Basic, C #, और C ++ सभी में इसके नाम का उपयोग किए बिना आइटम प्रॉपर्टी तक पहुंचने के लिए सिंटैक्स है। इसके बजाय, सूची वाले चर का उपयोग किया जाता है जैसे कि यह एक सरणी था।
List[index]
उदाहरण के लिए देखें: https://msdn.microsoft.com/en-us/library/0ebtbkkc(v=vs.110).aspx
पुराना प्रश्न है, लेकिन मैं देख रहा हूं कि यह धागा हाल ही में सक्रिय था, इसलिए मैं आगे बढ़ूंगा और अपने दो सेंट में फेंक दूंगा:
वास्तव में मिच ने बहुत कुछ कहा। उचित अनुक्रमण को मानते हुए, आप बस आगे जा सकते हैं और वर्ग ब्रैकेट संकेतन का उपयोग कर सकते हैं जैसे कि आप किसी सरणी तक पहुँच रहे थे। संख्यात्मक सूचकांक का उपयोग करने के अलावा, हालांकि, यदि आपके सदस्यों के विशिष्ट नाम हैं, तो आप अक्सर टाइप करके एक साथ खोज / एक्सेस कर सकते हैं:
var temp = list1["DesiredMember"];
जितना अधिक आप जानते हैं, ठीक है?
.NET List
डेटा संरचना Array
एक "म्यूटेबल शेल" में है।
तो आप इसे तत्वों तक पहुँच के लिए अनुक्रमित का उपयोग कर सकते हैं जैसे:
var firstElement = myList[0];
var secondElement = myList[1];
C # 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
इसके अलावा आप LINQ ElementAt
पद्धति का उपयोग कर सकते हैं लेकिन 99% मामलों के लिए यह वास्तव में आवश्यक नहीं है और केवल धीमी गति से प्रदर्शन समाधान है।