gpt4 book ai didi

C# .NET 4.6 等效于 Unsafe.As

转载 作者:行者123 更新时间:2023-12-01 23:42:36 25 4
gpt4 key购买 nike

什么是 C# .NET 4.6 的等价物:

    public static float UnpackFloat32(this ulong value)
{
return Unsafe.As<ulong, float>(ref value);
}

Unsafe.As 在 4.6 中不可用。

最佳答案

您甚至可以通过使用具有显式布局的结构在没有不安全代码的早期 .NET 版本中实现它:

[StructLayout(LayoutKind.Explicit)]
struct FloatUlongConverter
{
[FieldOffset(0)] public float floatValue;
[FieldOffset(0)] public ulong ulongValue;
}

public static ulong PackFloat32(this float value)
{
var converter = new FloatUlongConverter();
converter.floatValue = value;
return converter.ulongValue;
}

public static float UnpackFloat32(this ulong value)
{
var converter = new FloatUlongConverter();
converter.ulongValue = value;
return converter.floatValue;
}

关于C# .NET 4.6 等效于 Unsafe.As,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64789443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com