Ich wurde diese Frage in einem Interview gefragt! Ich wollte nur wissen, was die richtige Antwort darauf ist. Ich sagte, dass logisch das Konzept von Bool Datentyp (C#) dargestellt wird. Eine Variable vom Datentyp Bool Wert true oder false haben kann und als ein bedingter Scheck condition.Numerically verwendet werden, 1 für wahr und 0 für falsch in den meisten Programmiersprachen Sprachen.Ich weiß nicht, was noch hinzufügen oder was ist der Unterschied zwischen den beiden. Alle Kommentare werden sehr geschätzt.Konzept von wahr, falsch logisch und numerisch?
Antwort
In C# (im Gegensatz zu einigen anderen Sprachen) booleans keine ganzen Zahlen sind und sind auf ganze Zahlen umgewandelt werden:
int x = true; // Error - Cannot implicitly convert type 'bool' to 'int'
Als Ergebnis es nicht sinnvoll, dass wahr ist gleich 1 in C# zu sagen macht. Auf einer Implementierungsebene könnte der Wert "true" intern als Wert 1 gespeichert werden, aber dies ist ein Detail, das für diese Implementierung spezifisch ist und kein Merkmal von C# selbst.
Wenn Sie einen boolean auf den Wert 0 oder 1 konvertieren Sie können dies tun:
int x = isFoo ? 1 : 0;
Danke für die Antwort. Bedeutet das, dass es in C# kein Konzept von True und False gibt? – collegian
Ja im Grunde ist es fair zu sagen, dass es keine Zahlenwert für wahr und falsch in C#. –
Ist das nicht die meisten Sprachen Definition von 'true'‚alles außer '0'‘? – delnan
Ich kann mir vorstellen, dass "Numerisch 1 für wahr und 0 für falsch in den meisten Programmiersprachen steht." war nicht die Antwort, die der Interviewer suchte. – PeterK
Wenn Sie den Verlauf Ihrer Frage ansehen, haben die Antworten, die Sie erhalten haben, Ihre Fragen beantwortet. Vielleicht sollten Sie gehen und sie als "akzeptiert" markieren? –