我正在研究基于内存映射文件的基于非.Net应用程序的IPC数据交换。因此,我想了解C#如何为此组织物理数据布局。所以我从我读过的那些不安全的结构开始,这似乎是正确的技术。当具有不同的数据布局演奏为布尔型值我感到困惑的这个代码和对结果: using System;
using System.Reflection;
using System.Runtime.CompilerServices;
u
这是情景: 我已经实例化一个类的字符串,然后我已获得了其在HEAP: public class UnsafeExperiment {
static String s = "ciao";
public UnsafeExperiment() throws Exception {
Unsafe unsafe = getUnsafeInstance();
F
[]byte转换到string的优选方式是这样的: var b []byte
// fill b
s := string(b)
在此代码字节切片被复制,它可以是在情况下的一个问题,其中的性能是重要的。 当性能是至关重要的,可以考虑进行不安全的转换: var b []byte
// fill b
s := *(*string)(unsafe.Pointer(&b))
我的问题是:什么