如何检查两个字符串是否长度相同?

时间:2010-01-12 08:26:11

标签: c# asp.net

我想检查两个字符串是否长度相同。我尝试了以下方法,但它不起作用。

string passnew = "1233";
string passcnfrm = "1234";

if((passnew.Length&&passcnfrm.Length)>6 ||(passnew.Length&&passcnfrm.Length)<15)
{ 
    // ...
}

为什么不起作用?我需要改变什么?

6 个答案:

答案 0 :(得分:9)

if(passnew.Length == passcnfrm.Length && 
   passnew.Length > 6 && passnew.Length < 15)
{
    // do stuff
}

答案 1 :(得分:3)

您缺少一些基本的语法课程。你在这些括号内写的是条件。我们有一元运算符(在一件事上运行),二元运算符(两个)和一个第三运算符(忘掉那个)。

你不能轻易地用“边界测试”来构建类似的东西。

一种可能的方式:

(passnew.Length > 6) && (passcnfrm.Length > 6)

但即使你可以使用这样的语法,你也不会测试长度是否相等。如果两者都长于6个字符且短于15个字符,您似乎想要进行比较。一个在7和一个在14将满足两个条件..

答案 2 :(得分:1)

if(passnew.Length == passcnfrm.Length && 
   (passnew.Length < 15 && passnew.Length > 6))
{ 
    // ...
}

检查两者的长度相同,且长度超过6且少于15个字符。

答案 3 :(得分:0)

那将是:

if(passcnfrm.Length.Equals(passnew.Length))
 {
   //do stuff
 }

答案 4 :(得分:0)

可能更好的方法是:

if (( passnew != null && passcnfrm != null )
    ( passnew == passcnfrm )
&&  ( passnew.Length > 6 && passnew.Length < 15 ))
{
    // do stuff
}

在你可能需要的等式检查中隐藏长度检查,它不在您的问题中,但变量名称使得很明显您在那里进行密码更改功能。我添加了空检查以确保长度检查不会抛出NullReferenceException,因为您手动分配了两个,但是如果您稍后要将其转换为方法,则可能会省去一些麻烦。

答案 5 :(得分:0)

您可以这样使用: if(s.Contains(s1 [i]))

或:

boolean equalsIgnoreCase(String anotherString);

或使用此方法:

public static int occurrence(string [] a,string a2)         {             int occ = 0;             for(int i = 0; i&lt; a.Length; i ++)             {                 如果(A [1] .Equals(A2))                 {                     OCC ++;                 }

        }
        return occ;
    }