繁体   English   中英

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

[英]How to check if two string are of the same length?

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

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

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

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

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

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

您不能轻易地用它们来构建诸如“边界测试”之类的东西。

可能的方法:

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

但是即使您可以使用这样的语法,也不会测试长度是否相等。 您似乎想比较两者是否均大于6个字符且小于15个字符。 一个7点和一个14点将同时满足这两个条件。

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

两者的检查长度相同,并且其中一个长度大于6并且小于15个字符。

那将是:

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

一个可能更好的方法是:

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

将长度检查隐藏在您可能需要的相等检查中,这不在您的问题中,但是变量名使您清楚地知道您正在此处执行密码更改功能。 我添加了空检查,以确保长度检查不会引发NullReferenceException,在示例中不需要,因为您手动分配了两者,但是如果以后再将其转换为方法,可能会节省一些麻烦。

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

要么:

boolean equalsIgnoreCase(String anotherString);

或使用此方法:

公共静态int出现(字符串[] a,字符串a2){int occ = 0; for(int i = 0; i <a.Length; i ++){if(a [i] .Equals(a2)){occ ++; }

        }
        return occ;
    }

暂无
暂无

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

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