2011-05-30 27 views
18

Tengo matriz de cadenas string[] MyArray. ¿Cuál es la forma más rápida (es decir, el código mínimo, el rendimiento no más rápido) para convertir todos los elementos del conjunto de cadenas en minúsculas?Convertir matriz de cadenas en minúsculas

Respuesta

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

(o

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

si desea reemplazar la matriz existente con una nueva instancia de string[].)

+1

No puedo discutir eso. Eso es simplemente belleza. – Steven

+1

Si desea respetar la configuración regional, probablemente debería usar 'ToLower()' en lugar de 'ToLowerInvariant()'. – Joey

+0

¿Esto ya no funciona con .NET 4.5? –

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

yo no usaría esto en la producción:

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

Sin cre en una nueva matriz.

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

me gustaría ir con

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

método más sencillo:

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

muy agradable, corto y fácil – Ovis

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

Nota: Esto es muy cercano a la respuesta '' prasadd pero trabaja con matrices de cadenas.

Cuestiones relacionadas