2011-05-13 714 views
4

C#的switch()語句區分大小寫。有沒有辦法切換它,以便它不區分大小寫?C#的switch語句區分大小寫。有沒有辦法切換它,以便它不區分大小寫?

==============================

感謝, 但是,我不喜歡這些解決方案;

由於案例條件將是一個變量,我不知道他們是否都是UPPER或更低。

+2

「情況的條件將是變量」 - 我認爲他們是編譯時常量表達式! – YetAnotherUser 2011-05-13 04:32:15

回答

18

是 - 在其操作數上使用ToLower()ToLowerInvariant()。例如:

switch(month.ToLower()) { 
    case "jan": 
    case "january": // These all have to be in lowercase 
     // Do something 
     break; 
} 
2

轉換交換機字符串大寫或小寫事先

switch("KEK".ToLower()) 
{ 
case "kek": 
    CW("hit!"); 
    break; 
} 
5

你可以做這樣的事情

switch(yourStringVariable.ToUpper()){ 
    case "YOUR_CASE_COND_1": 
    // Do your Case1 
    break; 

    case "YOUR_CASE_COND_2": 
    // Do your Case 2 
    break; 

    default: 
}