使.net winforms应用程序的字符串比较不区分大小写

时间:2017-08-03 08:24:40

标签: c# .net winforms

需要对.net winforms应用程序使用字符串比较不区分大小写。在我的代码中比较字符串时不是问题,但我到处都需要它。 例如:有一个组合框,其中包含从SQL数据填充的项,其中value成员是大写字符串,但是作为值绑定到此组合框的实体字段允许具有值(字符串)小写。其余元素也是如此。

3 个答案:

答案 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
}

没有代码,我可以为您提供其他建议:/