在C#不安全上下文中初始化sbyte**
如何在C#不安全上下文中初始化sbyte** 我需要在C#不安全上下文中初始化sbyte**,c#,.net,pointers,unsafe,C#,.net,Pointers,Unsafe,如何在C#不安全上下文中初始化sbyte** 我需要 sbyte** parameters; 要用三个字符串填充:“第一”、“第二”、“第三”。这里有一个可能的解决方案,使用字节**。这应该与sbyte**兼容,因为所使用的编码是ASCII,并且只有到127的值 unsafe static void Main(string[] args) { fixed (byte* arg0 = Encoding.ASCII.GetBytes(args[0]), arg1
sbyte** parameters;
要用三个字符串填充:“第一”、“第二”、“第三”。这里有一个可能的解决方案,使用
字节**
。这应该与sbyte**
兼容,因为所使用的编码是ASCII,并且只有到127的值
unsafe static void Main(string[] args)
{
fixed (byte* arg0 = Encoding.ASCII.GetBytes(args[0]),
arg1 = Encoding.ASCII.GetBytes(args[1]),
arg2 = Encoding.ASCII.GetBytes(args[2]))
{
byte*[] arr = { arg0, arg1, arg2 };
fixed (byte** argv = arr)
{
...
}
}
}
怎么样
sbyte*[]参数={“第一”、“第二”、“第三”}对不起,你能澄清一下你的意图吗?您的意思是想要一个sbyte**
数组,例如,通过void foo(params sbyte**arrOfSByte)的函数原型
?@Kerrek SB:无法将类型为“string”的表达式转换为类型为“sbyte*”@Freedompaese:我想调用一个以sbyte**argv作为参数的方法。啊,明白了,你需要编码.ASCII.GetBytes()
,但这会得到字节
,而不是sbyte
。可以吗?