Laden...

int in byte konvertieren

Erstellt von bloody_fighter vor 14 Jahren Letzter Beitrag vor 14 Jahren 6.693 Views
B
bloody_fighter Themenstarter:in
54 Beiträge seit 2008
vor 14 Jahren
int in byte konvertieren

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?

6.911 Beiträge seit 2009
vor 14 Jahren

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!"

B
bloody_fighter Themenstarter:in
54 Beiträge seit 2008
vor 14 Jahren

okay, also so:
kartennummer = (byte) ((byte) 31 - (byte) karten1.Count - (byte) karten2.Count -(byte) karten3.Count - (byte) stich.Count);

viel dank 😃

110 Beiträge seit 2008
vor 14 Jahren

Oder du castest das ganze nur einmal am Ende:

kartennummer = (byte) (31 - karten1.Count - karten2.Count - karten3.Count - stich.Count);

H
116 Beiträge seit 2008
vor 14 Jahren

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.

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo hinrich,

richtig, wobei das Ergebnis mit nur einmal Casten möglicherweise das passendere ist.

herbivore