www.mikrocontroller.net

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


Autor: Marcus Schlinn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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;

}

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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);

}

Autor: FBI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick meinte vermutlich Kapitel 16:
http://galileocomputing.de/openbook/csharp/kap15.htm
Besonders hilfreich in Patricks Link ist der Punkt 15.4 :)
15.4 Numerische Umwandlungen

Regeln für die numerischen Umwandlungen entnehmen Sie bitte Kapitel 15, Konvertierungen.
Da hat wohl wer die Kapitelnumerierung etwas durcheinander gewürfelt.

Autor: Emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.