2011-05-30 22 views
18

dizesine dönüştürme string[] MyArray dize dizilim var. Tüm dize dizi öğelerini küçük harfe dönüştürmek için en hızlı (en az kod olan, en hızlı performans değil) yol nedir?Dize dizisini

cevap

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

(veya

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

Eğer string[] yeni bir örneği ile mevcut diziyi değiştirmek isterseniz

.)

+1

Bununla tartışamazsınız. Bu sadece sade güzellik. – Steven

+1

Bölgesel ayarları onaylamanız gerekiyorsa, muhtemelen ToLowerInvariant() 'yerine' ToLower() 'kullanmalısınız. – Joey

+0

Bu, .NET 4.5 ile artık çalışmıyor mu? –

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

Ben üretimde bu kullanmak ister:

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

yeni bir dizi.

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

Ben

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

En kolay yaklaşımla giderdik:

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

çok güzel, kısa ve kolay – Ovis

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

Not: Bu 'prasadd' cevabı çok yakındır ama dize diziler ile çalışır.

İlgili konular