सवाल सरणी में किसी विशेष आइटम की अनुक्रमणिका प्राप्त करना


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


44
2017-12-08 14:31


मूल


क्या आप हमें एक उदाहरण दे सकते हैं? - Ani
आप उपयोग कर रहे Array या string []? - hunter
यह एक स्ट्रिंग [] है और मैं कुछ Array.Indexof (arrFilter, "लेखक") ढूंढना चाहता हूं लेखक यहां पूर्ण मूल्य का एक पूर्ण मूल्य नहीं है - Mac
के संभावित डुप्लिकेट एक सरणी में एक मान का सूचकांक खोजें - bluish


जवाब:


आप उपयोग कर सकते हैं FindIndex

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

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

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

शायद आपको ए का उपयोग करके मिलान करना होगा नियमित अभिव्यक्ति?


89
2017-12-08 14:38





प्रयत्न Array.FindIndex(myArray, x => x.Contains("author");


9
2017-12-08 14:40



ऐसा प्रतीत होता है कि आप सही कोष्ठक खो रहे हैं। - JasonArg123


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

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

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


6
2017-12-08 14:50





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

6
2017-12-08 14:41