danke!
@svenson:
natürlich &! ist mir ja fast peinlich... 😉
@norman_timo:
klar, echte echtzeitanwendungen würde ich sowieso nicht mit .NET machen (wenns wirklich um millisekunden geht)
allerdings kommts ja nur drauf an, wie oft eine operation durchgeführt wird, da kann (muss) man sich auch bei verwendung von .NET (hat ja auch seine vorteile 😉 ) manchmal mit unsafe behelfen...
(wenns nicht auf die reaktionsgeschwindigkeit ankommt, sondern "nur" darauf dass ein task deutlich schneller abgearbeitet werden kann)
btw: kennt wer exakte performance-vergleiche zw. c++ und c#? (ev. aus eigener erfahrung?)
soviel ich weiss, gehts da nur so um 10% (mit .NET)...
aber das ist wohl thema für einen anderen thread (gibts wahrscheinlich sogar schon ein paar... mal schauen)
somran
besten dank! 🙂
BitConverter funkt natürlich.
aber da ich eben relativ wenig mit c# mache (komme von c++ seite 😉 ), kenn ich die ganzen hilfsklassen (noch) nicht.
natürlich habt ihr recht damit, dass man möglichst auf unsafe-blöcke verzichten sollte, aber das geht halt auch nicht immer... (v.a. wenns wirklich um performance geht)
abgesehn davon, würde der unten genannte code in c++ funktionieren?
hallo!
sollte ja eigentlich ganz einfach sein... bekomms allerdings nicht wirklich hin - nur eine System.NullReferenceException.
float hat ja 4 bytes, also sollte ein simpler cast (unsafe) doch funktionieren:
unsafe
{
byte [] buf = r.ReadBytes(4);
float f = *((float *) buf[0]); // das da
}
was ist falsch dran?
weiss schon, man könnte das ganze auch ohne unsafe machen... aber wozu? 😉
(das ganze hat übrigens den sinn, ev. die byte-order zu vertauschen)
also, für hinweise dankbar,
somran
negativ.
bei 0.5 wird 0.0 "verstanden", bei 0,5 ist es 5...
also kann das niemand reproduzieren?
hallo,
es gibt ja die möglichkeit, die belegung der variablen zu überwachen, nach dem man die ausführung des programms mittels haltepunkt oder exception unterbrochen hat.
in diesem überwachungsfenster sollte es ja auch möglich sein ausdrücke auswerten zu lassen (in spalte name) oder einer variablen einen neuen wert zuzuweisen (in spalte wert).
wenn ich nun allerdings z.b. 0.5 als ausdruck oder sogar (double)0.5 eingebe, wird als wert seltsamerweise 0.0 angezeigt.
das selbige wenn ich einer double (oder float) variable einen wert zuweisen will, statt 0.5 wird dann 0.0 angezeigt (und auch gesetzt).
kann das jemand reproduzieren?
ist dieses merkwürdige verhalten irgendwie abstellbar?
ist das so gewollt? (warum??) oder ist das ein netter bug? 😉
aja, ich verwende visual studio .net 2003...