Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
int in byte konvertieren
bloody_fighter
myCSharp.de - Member



Dabei seit:
Beiträge: 54

Themenstarter:

int in byte konvertieren

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7572
Herkunft: Waidring

beantworten | zitieren | melden

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!"
private Nachricht | Beiträge des Benutzers
bloody_fighter
myCSharp.de - Member



Dabei seit:
Beiträge: 54

Themenstarter:

beantworten | zitieren | melden

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

viel dank :)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von bloody_fighter am .
private Nachricht | Beiträge des Benutzers
Aurion
myCSharp.de - Member

Avatar #avatar-2535.gif


Dabei seit:
Beiträge: 114
Herkunft: Berlin

beantworten | zitieren | melden

Oder du castest das ganze nur einmal am Ende:

kartennummer = (byte) (31 - karten1.Count - karten2.Count - karten3.Count - stich.Count);
private Nachricht | Beiträge des Benutzers
hinrich
myCSharp.de - Member



Dabei seit:
Beiträge: 118
Herkunft: Schleswig-Holstein

beantworten | zitieren | melden

Zitat von Aurion
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.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo hinrich,

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

herbivore
private Nachricht | Beiträge des Benutzers