Warum existieren bool.TrueString und bool.FalseString?

8

Ich habe den MSDN-Artikel der booleschen Struktur gelesen, als ich das gesehen habe Ein Boolescher Wert hat zwei Felder: TrueString und FalseString . Diese geben jeweils "True" und "False" zurück.

Nach einigem Suchen ist das einzige Beispiel, das ich finden konnte, dieser dotnetperls-Artikel . Der Artikel sagt:

  

Programme benötigen oft diese Zeichenfolgen. TrueString und FalseString sind ein nützliches Paar schreibgeschützter Member. Sie repräsentieren Wahrheitswerte im String-Format. Sie bieten Indirection und Abstraktion direkt über String-Literale.

So offensichtlich ist es in einigen Situationen nützlich. Aber derselbe Artikel liefert kein realistisches Beispiel (IMHO jedenfalls).

Einige weitere Lesungen haben mich darauf aufmerksam gemacht: TrueString und FalseString sind public static readonly fields . Und dieser Dornetperls-Artikel lautet:

  

Die Sprachspezifikation empfiehlt die Verwendung öffentlicher statischer schreibgeschützter Felder ... wenn das Feld in Zukunft geändert werden soll.

Nun, das kann ich etwas verstehen. Wenn die .NET-Entwickler jemals entscheiden, "True" und "False" in "OkeyDokey" und "Negatory" zu ändern, ist es sinnvoll, TrueString und oder FalseString zu verwenden.

Aber das wirft noch immer die Frage auf: In welcher Art von Szenario wollen Sie einen String mit dem String-Literal eines Boolean vergleichen? Denn anschaulich: "Programme brauchen sie oft".

    
Jordy 03.07.2013, 12:03
quelle

2 Antworten

0

In einfachen Worten. Boolean ist eine Struktur. Diese boolesche Methode stellt die ToString () -Methode dar, die einen von Menschen lesbaren Text für die Benutzer darstellt. Also, wenn du etwas schreibst.

%Vor%

Die Ausgabe ist das "False", das von 0 ist. Das "False" ist vom Menschen lesbar und leicht zu erfassen.

Auch einige, wo Sie einen Textwert auf einen booleschen Wert analysieren möchten. also können diese auch als boolesche Werte dargestellt werden. beispielsweise. wir benutzen

%Vor%

Der falsche Wert wird von der Tryparse-Methode festgelegt, da er feststellt, dass wir Werte aus dem Zeichenfolgen-Tool lesen können.

    
JSJ 03.07.2013 12:19
quelle
0

Wenn das Programm Daten in einer für Menschen lesbaren Datei oder Datenbank speichert, muss es möglicherweise Werte als Zeichenfolgen speichern. Wenn Sie die Daten zurückgelesen haben und wissen, dass die Daten von Ihrer Anwendung geschrieben wurden und eine Standard-String-Repräsentation verwenden, können Sie x == bool.TrueString schneller vergleichen als bool.TryParse(x ...) . Sie können die Daten auch überprüfen, indem Sie sicherstellen, dass alle Werte x == bool.TrueString || x == bool.FalseString

sind

Wenn die Daten von Menschen oder einem anderen System eingegeben wurden, ist TryParse eine bessere Option, da sie mehr Werte als wahr akzeptiert und zwischen einer bestimmten falschen und einer ungültigen Eingabe unterscheidet. ( MSDN Boolean TryParse )

    
Denise Skidmore 12.02.2018 18:49
quelle

Tags und Links