Forum: PC-Programmierung C# Adition von Hex Werten bei VS 2005


von Marcus Schlinn (Gast)


Lesenswert?

Mahlzeit !

Kurze Frage. Ich nutze auch seit kurzen C# und habe mit der Umstellung 
zu C noch etwas zu kämpfen.

public partial class data
    {   public byte anzahl; }


public partial class boot
{  data test = new data();

  byte value = 0;

  value = test.anzahl + 0x04;

}


Warum kann ich zu test.anzahl keine 0x04 dazu zählen ?
Ich bekomme eine Fehlermeldung :

Cannot implicitly convert type 'int' to 'byte'. An explicit conversion 
exists (are you missing a cast?)

Lesen kann ich auch - aber ich suche eine einfache Lösung für mein 
Problem!!

Gruss

von Patrick (Gast)


Lesenswert?

Ich kenn mich mit C# auch nicht aus, aber könnte das funktionieren?:

public partial class boot
{  data test = new data();

  byte value = 0;

  value = test.anzahl + (byte) 0x04;

}

von Patrick (Gast)


Lesenswert?

Oder schau mal hier:
http://galileocomputing.de/openbook/csharp/kap14.htm

Dann könnte der Ausdruck so lauten:

public partial class boot
{  data test = new data();

  byte value = 0;

  value = (byte) (test.anzahl +  0x04);

}

von FBI (Gast)


Lesenswert?

Patrick meinte vermutlich Kapitel 16:
http://galileocomputing.de/openbook/csharp/kap15.htm
Besonders hilfreich in Patricks Link ist der Punkt 15.4 :)
1
15.4 Numerische Umwandlungen
2
3
Regeln für die numerischen Umwandlungen entnehmen Sie bitte Kapitel 15, Konvertierungen.
Da hat wohl wer die Kapitelnumerierung etwas durcheinander gewürfelt.

von Emil (Gast)


Lesenswert?

Das kann man als Vor- oder als Nachteil auffassen, unter C# müssen die 
Werte mit denen gerechnet wird, das gleiche Format haben, zur 
Konvertierung macht man dann etwas wie

Uint16 anz16 = 44;
int anz = Convert.ToInt(anz16);

Teilweise ist das halt etwas umständlich, wirkt aber potenziellen 
Fehlern entgegen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.