Reputation: 11918
I need do create a new instance of String from the array of sbytes (sbyte[]). For that I need to convert sbyte[] into sbyte*
It is possible only using unsafe keyword. is that okay or is there any other ways to create a String from array of sbytes?
Upvotes: 4
Views: 195
Reputation: 12346
Why are you using sbyte?
Encoding.Default.GetString() (and any other encoding) takes a byte[]
Array as argument, so you could convert the sbyte[]
Array using LINQ if all values are non-negative: array.Cast<byte>().ToArray()
.
Upvotes: 1
Reputation: 31642
First: How to convert a sbyte[] to byte[] in C#?
sbyte[] signed = { -2, -1, 0, 1, 2 };
byte[] unsigned = (byte[]) (Array)signed;
Then:
string yourstring = UTF8Encoding.UTF8.GetString(unsigned);
Upvotes: 7