일부 바이트 [] 비교를 수행하고 있습니다.2 바이트 배열 사이의 확장 메서드 "같음"을 원합니다.
나는 ==을 시도했지만이 기본이되는 같음처럼 : 그것은 간다,
byte[] a = {1,2,3};
byte[] b = {1,2,3};
bool equals = a == b; //false
equals = a.Equals(b); //false
내가 확장 방법을 추가하려고했으나 같은 인수를 오버로드 기본 클래스 '같음 이후 기본 메서드가 아니라 확장, 어쨌든 나는 Equals 확장 (이름을 변경하지 않고 ...) 또는 (더 나은) 사용 == 연산자를 사용할 수 있습니까? 여기
는 실제로 비교해야 할 것입니다 : 확실히public static bool ContentEquals(this byte[] array, byte[] bytes)
{
if (array == null || bytes == null) throw new ArgumentNullException();
if(array.Length != bytes.Length) return false;
for (int i = 0; i < array.Length; i++)
if (array[i] != bytes[i]) return false;
return true;
}
타이밍이 맞지 않습니다! 저는 오늘 아침에 똑같은 일을하고 싶었고 당신과 Skeet은 Q/A와 함께있었습니다 :-) –
듣고 기뻐했습니다 ... – Shimmy
Linq는 이미 당신이 묘사하는 것을 수행하는'SequenceEqual'이라는 내장 메소드를 가지고 있습니다 . – Juliet