2016-01-19 489 views
0

我知道這個話題已經被覆蓋了幾次,但我無法在任何相關的帖子上找到我的答案。驗證字符串數組是否包含某個字符串

我有一個三個字符串項目的小陣列。當文本輸入到表單上的文本框中並按下「驗證」按鈕時,我想驗證輸入到文本框中的文本實際上可以在數組中找到。

我一直在嘗試使用.Contains方法,但無濟於事。它只適用於數組中的第一項。其他人未被認可。

我的代碼如下:

Dim STRarray as string() = {"RUT","MB","PR"} 

if STRarray.contains(textbox.text) Then 
    messagebox.show("Item Found.") 
else 
    messagebox.show("Unable to Locate String.") 
end if 

現在我如上所述,如果我輸入RUT到文本框,代碼工作。但是,如果我輸入MB或PR,則無法找到它們。

任何幫助,將不勝感激。謝謝!

+0

你嘗試看到STRarray的內容是什麼? – novice

+0

是的,我已經這樣做了,以確保我的數組實際上已填充。這就是爲什麼我很困惑哈哈。 – user3108663

回答

0

https://dotnetfiddle.net/Ks8SFQ ...這是工作..什麼你缺少

嘗試TrimToUpper ..像下面..它可能工作

Dim STRarray as string() = {"RUT","MB","PR"} 

if STRarray.contains(textbox.text.trim().ToUpper()) Then 
    messagebox.show("Item Found.") 
else 
    messagebox.show("Unable to Locate String.") 
end if 
+0

我會試試這個,謝謝!我已經通過文本框默認了所有的文本ToUpper,但我會給修剪一個tr。 – user3108663

+0

'Trim'和'ToUpper'在內存中創建不必要的字符串。使用'Contains'的重載,它允許你指定一個不區分大小寫的比較:'STRarray.Contains(textbox.Text,StringComparer.InvariantCultureIgnoreCase) ' –

相關問題