在.net C#中是不安全的正常操作
本文关键字:常操作 操作 net 不安全 | 更新日期: 2023-09-27 17:58:30
我需要从sbytes数组(sbyte[])创建一个新的String实例。为此,我需要将sbyte[]转换为sbyte*
只能使用unsafe关键字。这样可以吗?或者有其他方法可以从sbytes数组创建String吗?
第一个:如何在C#中将sbyte[]转换为byte[]?
sbyte[] signed = { -2, -1, 0, 1, 2 };
byte[] unsigned = (byte[]) (Array)signed;
然后:
string yourstring = UTF8Encoding.UTF8.GetString(unsigned);
为什么要使用sbyte?
Encoding.Default.GetString(和任何其他编码)将byte[]
数组作为参数,因此如果所有值都不是负数,则可以使用LINQ转换sbyte[]
数组:array.Cast<byte>().ToArray()
。