Also ich habe folgenden Code:
kartennummer = (byte) 31 - (byte) karten1.Count - (byte) karten2.Count -(byte) karten3.Count -(byte) stich.Count;
Fehler 1 Der Typ "int" kann nicht implizit in "byte" konvertiert werden. Es ist bereits eine explizite Konvertierung vorhanden. (Möglicherweise fehlt eine Umwandlung.)
Was mache ich falsch?
Hallo,
welcher Typ ist kartenNummer?
Die Differenz wird als int
zurückgegeben. Wenn also kartenNummer ein byte
ist so muss die Differenz nochmals gecastet werden (so wie es in der Fehlermeldung steht).
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
okay, also so:
kartennummer = (byte) ((byte) 31 - (byte) karten1.Count - (byte) karten2.Count -(byte) karten3.Count - (byte) stich.Count);
viel dank 😃
Oder du castest das ganze nur einmal am Ende:
kartennummer = (byte) (31 - karten1.Count - karten2.Count - karten3.Count - stich.Count);
Oder du castest das ganze nur einmal am Ende:
kartennummer = (byte) (31 - karten1.Count - karten2.Count - karten3.Count - stich.Count);
Das führt aber unter Umständen zu einem anderen Ergebnis.
Hallo hinrich,
richtig, wobei das Ergebnis mit nur einmal Casten möglicherweise das passendere ist.
herbivore