2016-01-19 261 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) ' –

相关问题