需要对.net winforms应用程序使用字符串比较不区分大小写。在我的代码中比较字符串时不是问题,但我到处都需要它。 例如:有一个组合框,其中包含从SQL数据填充的项,其中value成员是大写字符串,但是作为值绑定到此组合框的实体字段允许具有值(字符串)小写。其余元素也是如此。
答案 0 :(得分:1)
您无法更改.net中字符串的默认比较。 .net是一种区分大小写的语言。它具有使用不同级别的区分大小写来比较字符串的特定方法,但是(谢天谢地)没有全局设置。
答案 1 :(得分:1)
您可以使用:
string.Equals(a, b, StringComparison.CurrentCultureIgnoreCase);
或扩展方法:
public static class StringExtensions
{
public static bool Contains(this string source, string value, StringComparison compareMode)
{
if (string.IsNullOrEmpty(source))
return false;
return source.IndexOf(value, compareMode) >= 0;
}
}
你可以这样称呼它:
bool result = "This is a try".Contains("TRY",
StringComparison.InvariantCultureIgnoreCase);
Console.WriteLine(result);
答案 2 :(得分:-1)
使用
if (string1.ToLower().Equals(string2.ToLower()))
{
#something
}
没有代码,我可以为您提供其他建议:/