2010-12-08 12 views
40

में किसी विशेष आइटम की अनुक्रमणिका प्राप्त करना मैं एक सरणी के सूचकांक को पुनर्प्राप्त करना चाहता हूं लेकिन मुझे सरणी में वास्तविक मान का केवल एक हिस्सा पता है उदाहरण के लिए मैं सरणी में लेखक का नाम संग्रहीत कर रहा हूं गतिशील रूप से "लेखक =" xyz '" मैं सरणी आइटम की अनुक्रमणिका ढूंढना चाहता हूं जिसमें लेखक की तरह कुछ शामिल है क्योंकि मुझे यह नहीं पता कि यह कैसे करना है।सरणी

+0

क्या आप हमें एक उदाहरण दे सकते हैं? – Ani

+0

क्या आप 'ऐरे' या 'स्ट्रिंग [] 'का उपयोग कर रहे हैं? – hunter

+0

इसकी एक स्ट्रिंग [] है और मैं कुछ ऐरे खोजना चाहता हूं। इंडेक्सफ़ोफ़ (एआरफिल्टर, "लेखक") यहां लेखक पूर्ण मूल्य का नहीं है बल्कि पूर्ण मूल्य – Mac

उत्तर

79

आप FindIndex

var index = Array.FindIndex(myArray, row => row.Author == "xyz"); 

संपादन का उपयोग कर सकते हैं: मैं देख रहा हूँ आप स्ट्रिंग की एक सरणी है, तो आप एक साधारण के साथ एक उदाहरण से मिलान करने के लिए, यहाँ किसी भी कोड का उपयोग कर सकते हैं:

var index = Array.FindIndex(myArray, row => row.Contains("Author='xyz'")); 

हो सकता है कि आपको regular expression का उपयोग करके मिलान करने की आवश्यकता है?

7

कोशिश Array.FindIndex(myArray, x => x.Contains("author");

5
 int i= Array.IndexOf(temp1, temp1.Where(x=>x.Contains("abc")).FirstOrDefault()); 
4

पिछले जवाब केवल कार्य करेगा जब आप सही मूल्य आप खोज रहे हैं पता है - प्रश्न कहा गया है कि केवल एक आंशिक मूल्य जाना जाता है।

Array.FindIndex(authors, author => author.Contains("xyz")); 

यह "xyz" युक्त पहले आइटम की अनुक्रमणिका लौटाएगा।