was macht [Unsafe] in C# und was macht der inline assembly in C#?

1 Antwort

Normalerweise ist das Arbeiten mit klassischen Pointerstrukturen (byte* oder ähnliches) in C# nicht möglich - in "unsafe code" dann aber eben schon. Das macht es beispielsweise viel schneller Bild- oder Audiodaten zu verarbeiten, weil direkte Speicherzugriffe möglich sind.

Inline Assembly gibt es in C# nicht - man muss das über Umwege einbauen. Dafür braucht man dann eben direkte Speicherzugriffe, weil Du eben den Assemblercode als Byte-Buffer in den Speicher schreiben und ausführen musst.

Ersteres ist durchaus sinnvoll in vielen Fällen. Inline-Assembly meist eher nicht. Aber wenn man sich gerne ins Knie schießt...