2010-07-07 3 views
0

이미지를 다루는 두 시스템을 통합하려고합니다. 한 시스템은 이미지를 sbyte []로 제공하고 다른 시스템은 BitArray를 사용합니다. sbyte[]에서 데이터를 가져 와서 BitArray로 변환해야합니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?sbyte []를 BitArray로 변환하는 방법? C# .Net

감사합니다, 폴

답변

1

가장 간단한 방법은 정상 BitArray 생성자로 sbyte[]byte[] A를 변환하고이를 통과하는 것입니다. LINQ를 사용하여 쉽게 .NET 3.5를 사용하는 경우 :

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); 
+0

쿨을, 어떻게 내가 바이트 sbyte [] 변환합니까 []. 감사. – Paul

+0

@ 폴 : 내 대답 전체를 읽었습니까? 두 번 보여줍니다! –

+0

O ya, duu .... 감사합니다 Jon - You Rock! – Paul

0

BitArray 당신이 시도 할 수있는 바이트 배열 소요 constructor있다 : 그렇지 않으면 변환이 명시 적으로 선택 해제 할 수도 있습니다

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