Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem .NET ako pretypovať string na byte array?

Dajú sa v .NETe managed typy pretypovávať medzi sebou? Napr string na byte[]? Lebo zatiaľ som nenašiel spôsob ako sa na hodnotu nejakého managed typu pozeráť ako na hodnotu iného managed typu.

Viem si ukázať na string, vytvoriť byteArray a naň ukázať tiež a cez Span<T> ich skopčiť do byte array:

(
    let mojString = "Ľavá pŕhľava onakvejšô žriebä"
    use strPtr = fixed mojString
    let stringSpan = new Span<char>(strPtr |> NativePtr.toVoidPtr, mojString.Length)
    let bytes = Array.zeroCreate<byte>(mojString.Length * 2) // UTF16 - 1 char su 2 bytes
    use bytesPtr = fixed bytes
    let byteSpan = new Span<char>(bytesPtr |> NativePtr.toVoidPtr, mojString.Length)
    stringSpan.CopyTo(byteSpan)
    printfn "Bytes %A" bytes
)

leže práve to je ten problém že musím kopírovať. nedalo by sa to nejako obísť? aby som sa na jednu hodnotu dokázal pozerať cez 2 rôzne typy?

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny