反轉C#字符串中所有字母字符大小寫的最簡單方法是什麼?例如「aBc1 $;」應該變成「AbC1 $;」我可以很容易地編寫一個這樣做的方法,但我希望有一個我不知道的庫調用會使這更容易。我還想避免列出所有已知的字母字符,並將每個字符與列表中的內容進行比較。也許這可以用正則表達式來完成,但我不太瞭解它們。謝謝。C#字符串中所有字母字符的反向大小寫
感謝您的幫助。我爲此創建了一個字符串擴展方法,主要受Anthony Pegram解決方案的啓發,但沒有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);
}
注:我的答案中有一些國際化筆記。 – ErikE 2010-09-10 01:39:47