Какой самый простой способ изменить регистр всех буквенных символов в строке C #?Например, "aBc1 $;"должен стать "AbC1 $;"Я мог бы легко написать метод, который делает это, но я надеюсь, что есть библиотечный вызов, о котором я не знаю, который облегчит это.Я также хотел бы не иметь список всех известных буквенных символов и сравнивать каждый символ с тем, что находится в списке.Может быть, это можно сделать с помощью регулярных выражений, но я не очень хорошо их знаю.Спасибо.
Спасибо за помощь.Я создал метод расширения строки для этого, который в основном вдохновлен решением Энтони Пеграма, но без LINQ.Я думаю, что это обеспечивает хороший баланс между удобочитаемостью и производительностью.Вот что я придумал.
public static string SwapCase(this string source) {
char[] caseSwappedChars = new char[source.Length];
for(int i = 0; i < caseSwappedChars.Length; i++) {
char c = source[i];
if(char.IsLetter(c)) {
caseSwappedChars[i] =
char.IsUpper(c) ? char.ToLower(c) : char.ToUpper(c);
} else {
caseSwappedChars[i] = c;
}
}
return new string(caseSwappedChars);
}