두 바이트 배열의 차이를 반환하는 배열에서 각 바이트를 비교하고 두 번째 바이트가 첫 번째 바이트와 다른 경우이를 반환하는 C# 메서드를 작성하려고합니다. 이 할 수있는 방법이 있나요 ...C#은 비트 연산을 사용하여 바이트를 비교합니다.
byte[] b1 = 111;
byte[] b2 = 105;
int j = input.Length;
byte[] differenceByte = new byte[j];
int diffIndex = 0;
for (int i = 0; i < j; i++)
{
if (originalByte[i] != comparisonByte[i])
differenceByte[diffIndex++] = comparisonByte[i];
}
하지만 일부 비트 부두 마법 두 번째로 첫 번째 바이트를 비교 if 문을 대체 할 수있는 방법을 찾으려했다 : 나는 지금까지이 있나요?
두 번째 질문은 가능한 빨리 실행되도록이 코드를 최적화하는 다른 방법이 있습니까?
문자열을 바이트 배열로 변환하여 두 문자열을 비교하는 데 궁극적으로이 코드를 사용하고 싶습니다. 따라서이 점에 대해 알아야 할 것이 있으면 도움이 될 것입니다.
큰 그림을 더 많이 전달할 수 있다면 도움이 될 것입니다. 왜 문자를 비교하는 대신 문자열을 바이트로 변환하고 싶습니까? –
"문자열 비교"를 찾으려면 [이 답변] (http://stackoverflow.com/questions/208094/how-to-find-difference-between-two-strings)을 확인하십시오. –
유니 코드 및 멀티 바이트 인코딩을 고려하고 있습니까? 문자는 바이트가 아니므로 일부 문자는 여러 바이트로 확장 될 수 있습니다. –