[英]Dotnet :- How to make Autocomplete textbox search case insensitive?
[英]How to make a textbox case insensitive
是的,我意识到这有很多事情,但是它们对我没有用。
if (textBox1 != null)
{
string text = textBox1.Text;
foreach (string s in apple)
{
if (s.Contains(text))
{
listBox1.Items.Add(s);
}
}
}
在列表框中,我有:“鲍勃”和“乔”。 文本框会搜索名称,但是如果我输入“ joe”,则不会显示joe的名称,但是,如果我输入“ Joe”,则会显示名称。
对所有人尝试ToLower()
:
if (s.ToLower().Contains(text.ToLower()))
如果要使所有字母都低,则可以使用字符串方法ToLower()
如果要使所有字母都高的话,可以使用ToUpper()
例如:
if(txt!=null)
{
string text=txt.Text.ToLower();
foreach(string s in apple)
if(s.ToLOwer().Equals("YourString")
lst.Items.Add(s);
}
不幸的是, String.Contains
方法没有重载,该重载采用StringComparison
参数来允许不区分大小写的比较。 但是,可以改用String.IndexOf
方法。
if (s.IndexOf(text, StringComparison.OrdinalIgnoreCase) >= 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))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.