C# bool immer False in Class?

...komplette Frage anzeigen

3 Antworten

So ist das ganze unglücklich aufgebaut.

Mach aus "frei" eine read-only-Property, die sich aus dem Wert "(number <= max)" bedient und lass solche redundanten Definitionen weg.

Moin,

ich bin jetzt kein Experte für C#, aber wo setzt Du "frei" denn auf "true"?

In Zeile 43 wird er auf "false" gesetzt.
Soweit ich weiß, kann aber auch anders sein, ist ein Bool beim Initialisieren immer "false", wenn man ihn nicht direkt mit "true" initialisiert.

Also wo soll "frei" denn "true" werden in Deinem Code?


Hab's gefunden:
"
The default value of a bool variable is false.
"
https://msdn.microsoft.com/en-us/library/c8f5xwh7.aspx

Grüße, linlux

Ich meinte wenn man ihn auf True umstellt, also statt false, true hinschreibt

0
@linlux

Das meinte ich ja, wenn man ihn auf True setzt, ist er immer noch false

0
@ZerricK

Tue mal bitte folgendes. In Zeile 34 oder in einer Zeile direkt darunter, setzt Du "frei" direkt auf "true".

Alternativ kannst Du auch bei Deiner if-Bedingung ein else dazu schreiben und "frei" dort auf "true" setzen.

0
@ZerricK

Sitzen.Platz() bzw. mit Deiner Instanz nummer.Platz() wird nie aufgerufen!

mach mal

var nummer = new Sitzen();
nummer.Platz();

0
@ZerricK

Ok, ich hab mich zufrüh gefreut, es wird jetzt immer True angezeigt ;n;

0

In dem Code ist keine Stelle enthalten, in dem frei auf true gesetzt wird.

Aber wenn man bei zeile 43 den Bool auf true setzt, ist er trotzdem false

0
@ZerricK

Lass Dir mal "number" und "max" ausgeben - ich glaube die "if"-Bedingung ist nicht erfüllt und so kommt es nicht dazu, dass "frei" auf "true" gesetzt wird an der Stelle. Wo setzt Du denn "number"? Also wie groß ist "number"?

0
@linlux

Zeile 15 und 16, so stand es nicht im buch aber ich wollte es mal so versuchen.

0
@ZerricK

Lass Dir mal "nummer" ausgeben und schaue Dir Deine if-Bedingung an. Mache einfach noch ein else dazu und schreibe in das if und das else jeweils eine Ausgabe. Dann weißt Du wenigstens wie der Ausdruck ausgewertet wird.

0
@linlux

Steht ja in zeile 26,27 und 28 das es mir die Werte ausgeben soll

0
@ZerricK

Dein if in Zeile 41. Ergänze es um ein else. Lasse Dir dort in dem if und dem else "frei" ausgeben. Dort und nur dort. Nicht woanders.

0

Was möchtest Du wissen?