Was bedeuten die geschweiften Klammern in C # -Strings?

8
%Vor%

Was bedeutet {0, -35} in diesem Code?

    
rosebrit3 19.03.2012, 11:30
quelle

5 Antworten

7

Eine einfachere Zeile wäre:

%Vor%

Die Funktion akzeptiert eine beliebige Anzahl von Argumenten. Sie werden in den String am entsprechenden Index eingefügt. In diesem Fall enthält der Index Null die Ganzzahl 5. Das Ergebnis ist die Zeichenfolge "5".

Nun haben Sie die Möglichkeit, eine Formatzeichenfolge sowie einen Index anzugeben. Wie so:

%Vor%

Dies formatiert 5 mit 0.00 , was zu 5.00 führt.

Das ist der Fall für Zahlen, aber ich denke, diese sind leichter zu erklären. Bei Strings bedeutet das "Format" Ausrichtung. Beachten Sie außerdem, dass Sie zum Trennen von Index und Format ein Komma anstelle eines Doppelpunkts verwenden.

  

Ausrichtung (optional): Dies entspricht der minimalen Länge der Zeichenfolge.    Positive -Werte, das Argument string ist rechtsbündig und wenn der   Die Zeichenfolge ist nicht lang genug, die Zeichenfolge wird mit Leerzeichen aufgefüllt   die linke. Negative -Werte, das String-Argument wird beibehalten   und wenn die Zeichenfolge nicht lang genug ist, wird die Zeichenfolge mit aufgefüllt   Felder auf der rechten Seite. Wenn dieser Wert nicht angegeben wurde, wird der Standardwert verwendet   auf die Länge des String-Arguments.

Also in Ihrem Beispiel:

  • {0,-35} bedeutet, dass die Zeichenfolge mindestens 35 Zeichen lang sein muss (linkes Recht) (Leerzeichen am Ende).
  • {1,2} bedeutet, dass der String mindestens 2 Zeichen lang sein muss, und zwar rechtsbündig (Leerzeichen vorne).

Ich empfehle diesen Artikel sowie die string.Format Dokumentation .

    
Mizipzor 19.03.2012, 11:41
quelle
7

Diese Klammern sind Platzhalter in Strings für Werte.

Also wird rdr["ProductName"] in die ersten Klammern der Zeichenfolge formatiert. Und rdr["Total"] wird in den zweiten Klammern der Zeichenfolge formatiert.

Vorausgesetzt:

%Vor%

Dann werden Sie auf der Konsole ausgeben:

  

Produkt: Mein Produkt insgesamt: 2.98

Nach der Aktualisierung der Frage:

Der {0,-35} -Teil, wenn zum Zweck der Ausrichtung. Weitere Informationen zur Formatierung und Ausrichtung finden Sie in der offiziellen Dokumentation von C # .

    
Pablo Santa Cruz 19.03.2012 11:31
quelle
6

Strings wie "Product: {0,-35} Total: {1,2}" werden als zusammengesetztes Format bezeichnet Zeichenfolgen .

Die ersten Zahlen in den geschweiften Klammern (die bei Null beginnen) werden Formatelemente genannt und entsprechen der Position der Argumente, die hinter der zusammengesetzten Formatzeichenfolge stehen. Auf diese Zahlen kann optional ein Komma (,) und ein minimum width angewendet werden.

Die minimale Breite ist nützlich zum Ausrichten von Spalten. Wenn der Wert negativ ist, wird das Ergebnis linksbündig sein; Andernfalls wird es rechtsbündig sein. Zum Beispiel:

%Vor%

Ergebnisse in:

%Vor%

Sie können sehen, dass, weil wir eine minimale Breite von 35 -Zeichen für die Produktnamen angegeben haben, sie immer mindestens so viel Platz in der Ergebniszeichenfolge belegen, unabhängig von ihrer tatsächlichen Länge ( die im obigen Beispiel jeweils 10 und 13 waren). Und weil wir -35 (negativ) angegeben haben, werden Produktnamen linksbündig angezeigt.

    
Saeb Amini 19.03.2012 11:54
quelle
3

ist für Align String with Spaces

Um die Zeichenfolge nach rechts oder links auszurichten, verwenden Sie die statische Methode String.Format. Um die Zeichenfolge nach links auszurichten (Leerzeichen rechts), verwenden Sie die Formatierung patern mit Komma (,), gefolgt von einer negativen Anzahl von Zeichen: String.Format ("{0, -10}", text). Um die richtige Ausrichtung zu erreichen, verwenden Sie eine positive Zahl: {0,10}.

schau dir

an

Ссылка

    
Massimiliano Peluso 19.03.2012 11:33
quelle
2

Diese {} Klammern dienen zum Formatieren von Zeichenfolgen. Beispiel, Ihr Fall rdr ["ProductName"] habe einen Formatbezeichner {0, -35} ... angegeben, der linksbündig mit dem nach rechts gefüllten Raum ausgerichtet wird.

    
Rahul 19.03.2012 11:33
quelle

Tags und Links