Entwickler-Ecke

C# - Die Sprache - VB Funktionen Chr$() Asc() in C#


ebber - Do 10.04.08 18:23
Titel: VB Funktionen Chr$() Asc() in C#
Hallo

ich habe einen VB Code mit den Funktionen Chr$() Asc(). Ich suche eine C# Funktion die das gleiche macht. Ich konnte leider keine finden. Kann mir da vielleicht jemand behilflich sein ?

MfG


Christian S. - Do 10.04.08 18:44

Hallo!

Das solltest Du einfach mit einem Cast erledigen können:

C#-Quelltext
1:
2:
3:
            Console.WriteLine((char)70);
            Console.WriteLine((int)'F');
            Console.ReadLine();


Grüße
Christian


ebber - Fr 11.04.08 13:51

Hallo

also das char funktioniert.
Das int irgendwie auch, vielleicht au nicht, aufjedenfall ist das sehr seltsam.


C#-Quelltext
1:
2:
3:
4:
che = (255 - ((((13 + 8 + (int)'S' + (int)'1') / 256) -   ((13 + 8 + (int)'S' + (int)'1') / 256)) * 256)) + 1;
Text = Convert.ToString(che);

// = 256



Quelltext
1:
2:
3:
4:
che = (255 - ((((13 + 8 + Asc("S") + Asc("1")) / 256) - Int((13 + 8 + Asc("S") + Asc("1")) / 256)) * 256)) + 1
Text = che

// = 103


Diese beiden Dinger liefern bei mir unterschiedliche Ergebnisse. Ich habe keine Ahnung wieso. Für mich sind die völlig identisch und wenn ich nur Teile davon ausrechne kommt wieder das gleiche raus. Bin ich blind oder blöd?

MfG


JüTho - Fr 11.04.08 14:28

Ich habe Deine Berechnungen nicht nachvollzogen. Es gibt aber einen gravierenden Unterschied:
Zitat:
/-Operator in C#
Der Divisionsoperator / dividiert seinen ersten Operanden durch seinen zweiten.

Bei int ist das Ergebnis wieder ein int, nämlich der ganzzahlige Anteil.

Zitat:
/-Operator (Visual Basic)
Dividiert zwei Zahlen und gibt ein Gleitkommaergebnis zurück.

Jürgen


ebber - Fr 11.04.08 14:52

Danke. Ich habe mein Problem jetzt gelöst.

Mir ist die Rechnung irgendwie jetzt erst klar geworden. Meine C# Rechnung war auch Schwachsinn. Da hätte man alles rauskürzen können bis auf 255 +1. Aufjedenfall geht es jetzt.

MfG