Ответ 1
var MyArrayLower = MyArray.Select(s => s.ToLowerInvariant()).ToArray();
(или
MyArray = MyArray.Select(s => s.ToLowerInvariant()).ToArray();
если вы хотите заменить существующий массив новым экземпляром string[]
.)
У меня есть строковый массив string[] MyArray
. Каков самый быстрый (то есть наименьший код, а не самая быстрая производительность) способ преобразования всех элементов массива строк в нижний регистр?
var MyArrayLower = MyArray.Select(s => s.ToLowerInvariant()).ToArray();
(или
MyArray = MyArray.Select(s => s.ToLowerInvariant()).ToArray();
если вы хотите заменить существующий массив новым экземпляром string[]
.)
Самый простой подход:
MyArray = Array.ConvertAll(MyArray, d => d.ToLower());
Без создания нового массива.
for (int i = 0; i < MyArray.Length; i++)
MyArray[i] = MyArray[i].ToLower();
strin[] MyArrayLower = (from str in MyArray
select str.ToLower()).ToArray();
Я бы пошел с
var lowercaseStringArray = myStringArray.Select(c => c.ToLower()).ToArray();
myArray = Array.ConvertAll(myArray, x => x.ToLower());
Примечание. Это очень близко к ответу "prasadd", но работает со строковыми массивами.
Я бы не использовал это в производстве:
MyArray = string.Join(";", MyArray).ToLower().Split(';');