2012-02-21 5 views
0

바이트 배열과 바이트 목록을 가지고 있는데 둘 다 같은 숫자를 포함하고 있습니다. 어떻게 비교해야합니까?바이트 배열과 바이트 배열 목록을 비교하는 방법은 무엇입니까?

코드 내가 사용하지만, 작동하지 오전 : 내가 디버깅 할 때

if (portBuffer.Equals(ret_bytes)) 
     status = 0; 

다음 이미지가 캡처됩니다. 그들은 기본적으로 동일한 바이트를 포함합니다. 나는 그들이 다른 대상에 속해 있다는 것을 알고 있지만 어떻게 던지겠습니까? 감사합니다

a busy cat http://img29.imageshack.us/img29/5769/33818425.jpg ! 당신은 LINQ를 사용하려면

+4

SequenceEquals와 얼마나 차이가 나는지 확인하십시오. –

답변

3

확장 방법 SequenceEqual을 사용하십시오.

using System.Linq; 

//... 

if (portBuffer.SequenceEqual(ret_bytes)) 
     status = 0; 
+0

linq이란 무엇입니까? 그것은 무엇을합니까? – fiftyplus

+0

개체 컬렉션, xml, 데이터베이스 등을 쿼리 할 수있는 구성 요소로 linq를 생각해보십시오. 실제로 네임 스페이스 System.Linq은 많은 확장 메서드를 추가하여 쿼리를 허용합니다. 따라서 using 절을 추가하면 IEnumerable을 구현하는 모든 컬렉션에서 SequenceEqual 메서드를 사용할 수있게됩니다. – Fernando

2

, 시도 : 어떤 캐스팅이 필요한 경우 내가 당신에게 말할 수

var arraysAreEqual = Enumerable.SequenceEqual(portBuffer, ret_bytes); 

나는 내 PC에서 아닙니다.