繁体   English   中英

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

[英]Make string comparison case-insensitive for .net winforms application

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

您不能更改.net中字符串的默认比较。 .net是区分大小写的语言。 它具有使用不同级别的区分大小写来比较字符串的特定方法,但是(谢天谢地)没有全局设置。

您可以使用此:

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);

采用

if (string1.ToLower().Equals(string2.ToLower()))
{
    #something
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM