Самый простой способ - преобразовать sbyte[]
в byte[]
и затем передать его в обычный конструктор BitArray
. Если вы используете .NET 3.5, это легко с LINQ:
byte[] bytes = sbytes.Select(s => (byte) s).ToArray();
BitArray bitArray = new BitArray(bytes);
Это предполагает, что вы уже выполняете в непроверенном контексте. В противном случае вы можете явно отключить преобразование:
byte[] bytes = sbytes.Select(s => unchecked((byte) s)).ToArray();
BitArray bitArray = new BitArray(bytes);