Frage

Wie kann ich an einem bestimmten Index in einem Byte* ein int in ein Byte* umwandeln?

Idealerweise hätte ich gerne so etwas wie:

unsafe{
    byte* igm=stackalloc byte[8];
    igm[4]=4283;
}

Es würde den ersten Teil des Bits auf igm[4] und den Rest auf igm[5] setzen.

Bearbeiten:Mir ist klar, dass es viele Möglichkeiten gibt, damit umzugehen. Ich suche nach dem effizientesten Weg, wenn möglich.

War es hilfreich?

Lösung

Versuchen Sie das:

generasacodicetagpre.

Wenn Sie feststellen, dass Sie einfache Zeiger-Arithmetik verwenden können, um irgendwo in Ihrem Byte-Array zu indexieren, werden die Dinge viel einfacher.

Andere Tipps

Das Typsystem in C # wird daran hindern, dass Sie das tun, wie Sie vielleicht bemerkt haben.Sie können jedoch Ihre Zeiger werfen, um die atmutigen Typen zu sein:

generasacodicetagpre.

Sie müssen Ihr Int brechen sizeof(int) Anzahl der Bytes und setzen Sie diese Teile dann manuell auf Ihr Byte* an angegebenen Indizes.

Dies ist sicherer, da Sie wissen, WAS und WO Sie Ihre Daten speichern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top