2005年03月17日

配列の比較

  
byte[] b1;
byte[] b2;
...
if ( b1.Equals(b2) )
// 等しい

なんて、書ければ良いな、と思ったのですが、やはりダメでした。自分で、比較するコードを書く必要があるようです。

汎用的に書けば、以下のようになるかな?

bool ArrayEquals(Array b1, Array b2) {
if ( b1.Length != b2.Length )
return false;
for ( int i = 0; i < b1.Length; i++ ) {
if ( !b1.GetValue(i).Equals(b2.GetValue(i)) ) {
return false;
}
}
return true;
}


追記  2012/2/15
C#3.0以降を使っている場合は、「C#3.0での配列の比較」もご覧ください。



 

この記事へのトラックバックURL