2012-12-03 178 views
4

我正在創建一個簡單的C#應用​​程序,其中有一個條件來捕獲一個字母的大寫和小寫字母。正則表達式來捕獲大寫和小寫字母

這是我的情況:

if(txtChord.Text == "A" || txtChord.Text == "a" && cbKeys.SelectedIndex == 6){ 
       txtAnswer.Text = "B"; 
      } 

我想做到這一點更有效地使用正則表達式。

+2

在這種情況下檢查它是A還是罰款。在這種情況下不要使用正則表達式。另外,如果你無法理解如何使用正則表達式,請先停下來學習。 –

回答

1

你不需要regex來做到這一點。你可以簡單的做:

if(txtChord.Text.ToLower() == "a" && cbKeys.SelectedIndex ==6) 
{ 
    txtAnswer.Text = "B"; 
} 

ToLower()將在txtChord文本框中小寫任何文本,然後你可以檢查對抗。或者您可以使用ToUpper()。這是同樣的事情,但用大寫字母。

4

什麼也經常做忽略的情況是somethig這樣的:

if(txtChord.Text.ToLower() == "a" && cbKeys.SelectedIndex == 6) 

但需要注意的是,在你的if語句兩次檢查都沒有「等價物」,因爲&&具有較高的precendence||。您的等價物:

if(txtChord.Text == "A" || (txtChord.Text == "a" && cbKeys.SelectedIndex == 6)) 

不能用單個檢查替換。

1

Regex.Match(txtChord.Text, 「A」,RegexOptions.IgnoreCase)

相關問題