2017-07-10 51 views
-4

我知道該怎麼做這個問題,我遇到的問題是用正確的代碼執行這個想法 - 這是我學習過程的一部分。如果有效長度連接 - c#

我需要這方面的問題,我曾嘗試幫助:

返回由單個空格字符分隔的全名,如果新字符串的長度等於或超過10,否則返回「不是有效的輸入」 。

public static string ConcatIfValidLength(string firstName, string 
secondName) 
{ 
throw new NotImplementedException(); 
} 

的方式,我會去這樣做是: --->加入兩個字符串「的firstName」和「secondName」 --->用它計算這個新的字符串的長度的函數(減去單個空格字符 - 這應該在下一步中進行) --->在上一步中使用if函數,條件是它必須是< = 10個字符 --->否則返回不是有效的輸入「'

在代碼方面,我嘗試了Join Strings和.Length函數,以及if if nction,但無法獲得正確的代碼。

public static string ConcatIfValidLength(string firstName, string 
secondName) 
    { 

     return firstName.Length + secondName.Length >= 10 
      ? firstName + " " + secondName 
      : "Not valid input"; 

    } 

如果我的問題聽起來很愚蠢,請記住我是菜鳥學習在旅途中,我還沒有看到任何重複。

在此先感謝

+1

發表您的代碼和確切的'問題'。長度和連接出了什麼問題? –

+0

「如果新字符串的長度等於或超過10」 - 這聽起來不對(它意味着10或多*字符)。你的意思是組合字符串的長度應該是10或者小於*? – Corak

+0

是的,你是對的,這是我的錯誤。我的意思是= 10 –

回答

1
public static string ConcatIfValidLength(string firstName, string secondName) 
    { 
     if (firstName == null) 
      throw new ArgumentNullException("firstName"); 
     if (secondName == null) 
      throw new ArgumentNullException("secondName"); 

     return firstName.Length + secondName.Length + 1 >= 10 
      ? firstName + ' ' + secondName 
      : "Not valid input"; 
    } 
+0

我試過了,它仍然不起作用 –

+0

顯示你的輸入字符串和預期的結果 – Dmitry

+0

@ S.Dan我修復代碼。現在試試。 – Dmitry

-1

//我加1的條件,因爲一個空格等於11的總最大長度..但如果不是必須爲你,不理它.. engoy!

public static string ConcatIfValidLength(string fName, string lName) 
    { 
    if (fName.Length + lName.Length + 1 > 10) 
     return "Not Valid!"; 
    else 
     return fName + " " + lName; 
    } 
+0

這是不正確的,他想要返回名稱和姓氏如果長度大於10,而不是其他方式,所以你所要做的就是切換回報 –