2016-04-11 14 views
1

Ich lerne C# und ich habe eine Frage zu Strings. Es gibt eine Zeichenkette mit "1" und "0". Aber ich kenne seine Länge nicht. Ich bekomme die Länge der Zeichenfolge mit While-Schleife. Aber wenn die Länge weniger als 8 ist, muss ich die Länge mit Nullen auf 8 abschließen. Ich habe versucht, eine neue Zeichenfolge mit 7 '0 zu deklarieren. Und tat dies: (wo meine Schnur und zeroAdd ist die ‚0en ich hinzufügen möchtenErweitern einer Zeichenfolge auf C#

if(length<8) 
{ 
    for(i=length;i<8;i++) 
    a[i]=zeroAdd[8-length]; 

    a[i]='\0'; 
} 

aber es hat nicht funktioniert kann ich nicht den Shortcuts ich im Internet gesehen und wollte.. Haben Sie fragen Sie würde ich mich freuen, wenn Sie es mich so erklären könnte Vielen Dank im Voraus ein gutes

Antwort

3

Warum nicht die eingebaute Polsterung verwenden

string myString = "1101"; 
var result = myString.PadLeft(8,'0'); 

Gibt Ihnen:....?

00001101 

Um es mit einer Schleife zu tun (und rechten padding), können Sie dies tun:

string myString = "1101"; 
while (myString.Length < 8) 
    myString += "0"; 
+0

Erstmal Danke Rob, aber ich brauche die ‚0en bis zum Ende hinzuzufügen. Es tut mir leid, ich habe vergessen, es zu schreiben. Es ist ein Teil meiner Aufgabe, if-Anweisungen oder for-do-while-Schleifen usw. zu verwenden. – Sagopa

+1

@Sagopa Für die Zukunft (nicht für diese Zuweisung) können Sie auch '.PadRight' verwenden. Ich werde meine Antwort mit einer Lösung mit einer Schleife aktualisieren – Rob

+1

Vielen Dank, Rob! – Sagopa