2011-05-30 18 views
18

में कनवर्ट करें मेरे पास स्ट्रिंग सरणी string[] MyArray है। सभी स्ट्रिंग सरणी तत्वों को लोअरकेस में बदलने के लिए सबसे तेज़ (अर्थात् कम से कम कोड, सबसे तेज़ प्रदर्शन नहीं) तरीका क्या है?स्ट्रिंग सरणी को लोअरकेस

उत्तर

44
var MyArrayLower = MyArray.Select(s => s.ToLowerInvariant()).ToArray(); 

(या

MyArray = MyArray.Select(s => s.ToLowerInvariant()).ToArray(); 

अगर आप string[] का एक नया उदाहरण के साथ मौजूदा सरणी बदलना चाहते हैं।)

+1

इसके साथ बहस नहीं कर सकता। यह सिर्फ सादा सुंदरता है। – Steven

+1

यदि आप क्षेत्रीय सेटिंग्स का सम्मान करना चाहते हैं तो आपको शायद 'ToLowerInvariant() 'के बजाय' ToLower()' का उपयोग करना चाहिए। – Joey

+0

यह .NET 4.5 के साथ और अधिक काम नहीं करता है? –

1
strin[] MyArrayLower = (from str in MyArray 
         select str.ToLower()).ToArray(); 
-5

मैं उत्पादन में इस का उपयोग नहीं होगा:

MyArray = string.Join(";", MyArray).ToLower().Split(';'); 
8

cre के बिना एक नया ऐरे पर जा रहा है।

for (int i = 0; i < MyArray.Length; i++) 
    MyArray[i] = MyArray[i].ToLower(); 
0

मैं

var lowercaseStringArray = myStringArray.Select(c => c.ToLower()).ToArray(); 
12

सबसे आसान दृष्टिकोण के साथ जाना चाहते हैं:

MyArray = MyArray.ConvertAll(d => d.ToLower()); 
+0

बहुत अच्छा, छोटा और आसान – Ovis

0
myArray = Array.ConvertAll(myArray, x => x.ToLower()); 

नोट: यह बहुत 'prasadd' जवाब के करीब है लेकिन स्ट्रिंग सरणियों के साथ काम करता है।

संबंधित मुद्दे