簡體   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