2010-07-07 15 views

回答

1

最簡單的方法是轉換sbyte[]byte[],然後將它傳遞到正常BitArray構造。如果您使用.NET 3.5,很容易與LINQ:

byte[] bytes = sbytes.Select(s => (byte) s).ToArray(); 
BitArray bitArray = new BitArray(bytes); 

這是假設你在unchecked上下文中已經執行的。否則,你可能要進行轉換明確選中:

byte[] bytes = sbytes.Select(s => unchecked((byte) s)).ToArray(); 
BitArray bitArray = new BitArray(bytes); 
+0

酷,讓我怎麼轉換爲sbyte []以字節[]。謝謝。 – Paul 2010-07-07 16:13:06

+0

@保羅:你讀過我的全部答案嗎?它顯示你 - 兩次! – 2010-07-07 16:14:04

+0

O ya,duu ....謝謝瓊恩 - 你搖滾! – Paul 2010-07-07 16:16:18

0

BitArrayconstructor,需要一個字節數組,你可以嘗試:

sbyte[] sbytes = ... 
BitArray ba = new BitArray(sbytes.Select(x => (byte)x).ToArray());