如何使文本不区分大小写?

时间:2014-02-20 06:04:39

标签: c#

请建议我一种使文本不区分大小写的方法。无论用户使用何种情况

,都需要比较文本框输入

示例

if (textBox1.Text == "Name")
{
   label1.Content = "This is" + textBox1.Text;
}

如果textBox1输入是名称/名称/名称,则标签应显示相应的值。

7 个答案:

答案 0 :(得分:6)

我认为您正在寻找 StringComparer.CurrentCultureIgnoreCase

if(string.Equals(textBox1.Text, "Name", StringComparer.CurrentCultureIgnoreCase))

您也可以尝试查看

System.Collections.CaseInsensitiveComparer

答案 1 :(得分:4)

比较字符串时,您确实想要使用.Equals方法

textBox1.Text.Equals("Name", StringComparison.CurrentCultureIgnoreCase);

第二个参数允许您指定StringComparison。在此示例中,它告诉它 忽略大小写

答案 2 :(得分:1)

只需使用ToUpperToUpperInvariant

即可
if (textBox1.Text.ToUpper() == "NAME")

如果你需要使用不变文化的套管规则大写

if (textBox1.Text.ToUpperInvariant() == "NAME")

答案 3 :(得分:1)

请您尝试以下方法:

   if(textBox1.text.Equals("value",StringComparison.InvariantCultureIgnoreCase))

希望这有帮助

答案 4 :(得分:1)

试试这个:

if(textBox1.Text.Equals("Name",StringComparision.InvariantCultureIgnoreCase))
{
  label1.Content = "This is" + textBox1.Text;
}

答案 5 :(得分:0)

尝试这样的事情

if (textBox1.Text.ToLowerInvariant() == "Name".ToLowerInvariant())
     label1.Content = "This is" + textBox1.Text;

答案 6 :(得分:-1)

您可以实例化比较器并在整个代码中重复使用它。

此Insensitive类提供了一组完整的不敏感比较方法:

public static class Insensitive
{
    private static IComparer m_Comparer = CaseInsensitiveComparer.Default;

    public static IComparer Comparer
    {
        get{ return m_Comparer; }
    }

    public static int Compare( string a, string b )
    {
        return m_Comparer.Compare( a, b );
    }

    public static bool Equals( string a, string b )
    {
        if ( a == null && b == null )
            return true;
        else if ( a == null || b == null || a.Length != b.Length )
            return false;

        return ( m_Comparer.Compare( a, b ) == 0 );
    }

    public static bool StartsWith( string a, string b )
    {
        if ( a == null || b == null || a.Length < b.Length )
            return false;

        return ( m_Comparer.Compare( a.Substring( 0, b.Length ), b ) == 0 );
    }

    public static bool EndsWith( string a, string b )
    {
        if ( a == null || b == null || a.Length < b.Length )
            return false;

        return ( m_Comparer.Compare( a.Substring( a.Length - b.Length ), b ) == 0 );
    }

    public static bool Contains( string a, string b )
    {
        if ( a == null || b == null || a.Length < b.Length )
            return false;

        a = a.ToLower();
        b = b.ToLower();

        return ( a.IndexOf( b ) >= 0 );
    }
}

来源:https://github.com/runuo/runuo/blob/master/Server/Insensitive.cs