是的,我意识到这有很多东西,但它们对我不起作用。
if (textBox1 != null)
{
string text = textBox1.Text;
foreach (string s in apple)
{
if (s.Contains(text))
{
listBox1.Items.Add(s);
}
}
}
在列表框中,我有:“Bob”和“Joe”。文本框搜索名称,但如果我输入“joe”,则它不会显示joe的名称,但是,如果我输入“Joe”,它会显示名称。
答案 0 :(得分:3)
尝试ToLower()
全部:
if (s.ToLower().Contains(text.ToLower()))
答案 1 :(得分:2)
如果你想要所有字母更低,你可以使用字符串方法ToLower()
或如果你想要所有字母上限,你可以使用ToUpper()
例如:
if(txt!=null)
{
string text=txt.Text.ToLower();
foreach(string s in apple)
if(s.ToLOwer().Equals("YourString")
lst.Items.Add(s);
}
答案 2 :(得分:1)
不幸的是,String.Contains
方法没有带有StringComparison
参数的重载,以允许不区分大小写的比较。但是,您可以使用String.IndexOf
方法。
if (s.IndexOf(text, StringComparison.OrdinalIgnoreCase) >= 0)
答案 3 :(得分:0)
使用String.IndexOf为StringComparison提供重载 -
if(s.IndexOf(text, StringComparison.InvariantCultureIgnoreCase) != -1)
{
}
将此作为扩展方法添加到您认为应该已经存在的项目中
public static class StringExtensions
{
public static bool Contains(this string value, string valueToCheck,
StringComparison comparisonType)
{
return value.IndexOf(valueToCheck, comparisonType) != -1;
}
}
现在你可以从你的方法中使用它 -
if (s.Contains(text, StringComparison.InvariantCultureIgnoreCase))