2013-02-04 68 views
3

我怎麼忽略大/小寫字母,這是我的代碼:Visual Basic中2012 IGNORECASE上如果textbox.text =「」

if COMMAND_TEXT.Text = "command" then 
    CONSOLE.AppendText("command entered!" & Environment.NewLine) 
else 
    CONSOLE.AppendText("Invalid command" & Environment.NewLine) 
end if 

我想提出一個簡單的控制檯,但是當我試圖進入:命令 它沒有找到任何東西,但是當我輸入:命令它只是執行我想要的代碼。

我必須做出每一個可能的文字?就像這樣:

if COMMAND_TEXT.Text = "command" then 
    CONSOLE.AppendText("command entered!" & Environment.NewLine) 
elseif COMMAND_TEXT.Text = "Command" then 
    CONSOLE.AppendText("command entered!" & Environment.NewLine) 
elseif COMMAND_TEXT.Text = "COMMAND" then 
    CONSOLE.AppendText("command entered!" & Environment.NewLine) 
else 
    CONSOLE.AppendText("Invalid command" & Environment.NewLine) 
end if 

還是有象Java EqualsIgnoreCase的其他更簡單的方法

+0

適合的是,你的VB代碼顯示了對大小寫拼寫的公約無視。 –

回答

8

我會建議上層套管或下套管正如其他人建議。這可能會導致一些文化問題,特別是土耳其文。相反,使用String.Equals(String, StringComparison)

If COMMAND_TEXT.Text.Equals("command", StringComparison.CurrentCultureIgnoreCase) 

您可能需要使用InvariantCultureIgnoreCaseOrdinalIgnoreCase - 這取決於上下文。

我還強烈建議您避免使用像COMMAND_TEXT這樣的名字,並使用更常規的名稱。

+0

+1其有趣的方式.ToUpper()在土耳其語語言環境中導致問題。 – AbZy

+0

非常感謝! 但是我怎麼也與此: 如果InStr函數(COMMAND_TEXT.Text, 「開始」),然後 \t '' 我的代碼 \t結束時,如果 –

+1

@ Nobleleader13245:我懷疑你想'String.IndexOf(字符串,StringComparison) ' –