String-Konstante für eine neue Zeile + tab?

Möchte ich ein C# 4 string-Konstanten repräsentieren eine neue Zeile und eine Registerkarte, wie im folgenden:

internal const string segment = "\r\n\t";

Ich weiß, es ist Umwelt.Newline ich denke mal, dass ich verwenden könnte, wie diese:

internal const string segment = Environment.NewLine + "\t"; 

Meine Frage ist, was ist die effizienteste Art und Weise zu konstruieren, die eine string-Konstante, hat eine neue Linie und eine Registerkarte?

  • Die zweite ist besser, da es Plattform-unabhängig
  • Effizient in whay Art und Weise? Lesbarkeit? Reine Geschwindigkeit? OS Portabilität? "\r\n\t" wird Ihnen wahrscheinlich geringfügig bessere Leistung, aber möglicherweise nicht geeignet für alle Umgebungen, einschließlich Browser, Windows/Unix, etc).
  • Im Gegenteil, der Wert der zweiten absolut hängt von der Plattform ab.
  • aber, weil der Wert des Ausdrucks hängt von der Plattform ab, die Richtigkeit des Codes nicht. Ich würde auch beachten, dass da Umweltschutz.NewLine ist eine Eigenschaft, es kann nicht verwendet werden, in die ein konstanter Ausdruck sein, so ist die zweite Erklärung des Segments, der sich ändern muss, um erfolgreich kompiliert (wie bereits in Reed Copsey Antwort)
  • Jon ist richtig, hier, obwohl - die zweite ist eine funktional andere option als die erste. Ich vermute, das Ziel ist die Umwelt.NewLine, aber es gibt spezielle Fälle (wie den, der versucht, ein bestehendes Protokoll), wo \r\n möglicherweise die richtige Wahl für alle ausführenden Plattform. Es gibt keine Möglichkeit zu wissen, welche option ist die richtige für eine bestimmte Plattform, ohne weitere Informationen.
  • vereinbart. Ich wollte nur darauf hinweisen, dass der Begriff "Plattform-unabhängig" kann verwirrend sein: Wir schaffen die Plattform-unabhängige Dinge (z.B., .NET-assembly) durch die Verwendung von Plattform-abhängigen Elemente (z.B. CLR-jit-compiler).
  • ja @JonSkeet dafür würde der code unabhängig von der Plattform sein
  • Den Wert der Zeichenfolge hängt von der Plattform ab. Es kann gut sein, dass die Plattform-spezifischen string-Wert ist das gewünschte Verhalten, aber ich nennen würde, des Wertes, änderungen, basierend auf welcher Plattform Sie verwenden, ein Plattform-spezifisches (nicht plattformunabhängig) Stück code.
  • Ich dachte, wir diskutieren über die Frage und den code nicht einfach den NewLine-Wert. Ja den NewLine-Wert in der Tat an eine bestimmte Plattform gebunden. Das war der springende Punkt.
  • Nun, du hast behauptet, dass die zweite Zeile des Codes wurde Plattform-unabhängig. Ich denke, es wäre viel klarer zu sagen, es ist eine portable Möglichkeit zu schaffen, ein string, der die Plattform-spezifische line-separator, gefolgt von einem tab.
  • Hat 2 mal kompilieren? Ich bekomme, "der Ausdruck zugewiesen wird-segment muss konstant sein." Doh! Lesen Sie weiter in dem thread.

InformationsquelleAutor syneptody | 2011-12-15
Schreibe einen Kommentar