2017-07-10 6 views
-4

Ich weiß, was zu tun ist für diese Frage, das Problem, das ich habe, führt die Idee mit dem richtigen Code - das ist ein Teil des Lernprozesses, denke ich.Verketten, wenn gültige Länge - C#

ich mit dieser Frage helfen müssen, die ich versucht habe:

Return den vollständigen Namen von einem einzelnen Leerzeichen getrennt, wenn die Länge des neuen String gleich oder größer als 10. Ansonsten zurückkehren „ungültig Eingabe“ .

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

So wie ich gehen würde, dies zu tun ist: ---> die beiden Strings ‚Vornamen‘ beitreten und ‚secondName‘ ---> eine Funktion verwenden, die die Länge dieses neuen String berechnet (abzüglich des einzelnen Leerzeichen - dies sollte im nächsten Schritt gehen) ---> Verwenden Sie eine if-Funktion im vorherigen Schritt, mit der Bedingung, dass es < = 10 Zeichen ---> Sonst 'Rückkehr "nicht sein muss gültiger Eingang "'

In Bezug auf den Code habe ich mit den Join Strings und .Length-Funktionen experimentiert, ebenso wie mit dem if fu nction, kann aber noch nicht den richtigen Code bekommen.

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

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

    } 

Wenn meine Frage dumm klingt, beachten Sie bitte, ich bin ein Neuling auf dem Sprung zu lernen, und ich habe keine Duplikate gesehen.

Vielen Dank im Voraus

+1

Veröffentlichen Sie den Code, den Sie haben, und die genaue "Frage". Was ist mit Length und Join falsch gelaufen? –

+0

"Wenn die Länge der neuen Zeichenfolge gleich 10 ist oder diese überschreitet" - das klingt falsch (es bedeutet 10 oder * mehr * Zeichen). Meinst du, dass die Länge der kombinierten Saite 10 oder * weniger sein sollte? – Corak

+0

Ja, du hast Recht, das ist ein Fehler meinerseits. Ich meinte> = 10 –

Antwort

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

Ich habe dies versucht und es funktioniert immer noch nicht –

+0

Zeigen Sie Ihre Eingabe Zeichenfolgen und erwartetes Ergebnis – Dmitry

+0

@ S.Dan ich Fix-Code. Versuche es jetzt. – Dmitry

-1

// Ich habe 1 bis Zustand, weil insgesamt max Länge mit einzelnen Leerzeichen gleich 11 .. aber wenn es nicht für Sie Muss ist, ignorieren .. Engoy!

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

das ist nicht korrekt, er möchte Name und Nachname zurückgeben, wenn die Länge LÄNGER als 10 ist, nicht umgekehrt, also müssen Sie nur die Rückgabewerte wechseln –