わんくまライブラリ Wankuma.CollectionsByteArrayComparerクラス Version1
2005/07/21
この文書はVisual Studio 2003(.NET1.1)をベースに記述されています。それ以降のバージョンや、あなたが読んでいる時点では変更されている可能性があります。
またバージョンアップされている場合にはなんらかかの不具合を含んでいる可能性があります。
ドキュメントへ
Wankuma.CollectionsByteArrayComparer1d.htm
ソースファイル直接ダウンロードへ
Wankuma.CollectionsByteArrayComparer1c.txt
利用規約へ
../kiyaku.htm
#region Using using System; using System.Collections; #endregion namespace Wankuma.Collections { /// <summary> /// BinaryArrayComparer の概要の説明です。 /// </summary> public class ByteArrayComparer : IComparer { #region public ByteArrayComparer() /// <summary> /// コンストラクタ /// </summary> public ByteArrayComparer() { } #endregion #region IComparer メンバ #region public int Compare(object x, object y) /// <summary> /// byte[] の比較です。 /// </summary> /// <param name="x">比較対象の第 1 オブジェクト。</param> /// <param name="y">比較対象の第 2 オブジェクト。</param> /// <returns> より小さい値 x が y より小さい。 /// 0 x と y は等しい。 /// 0 より大きい値 x が y より大きい。 </returns> public int Compare(object x, object y) { return Compare((byte[])x, (byte[])y); } #endregion #region public int Compare(byte[] x, byte[] y) /// <summary> /// byte[] の比較です。 /// </summary> /// <param name="x">比較対象の第 1 オブジェクト。</param> /// <param name="y">比較対象の第 2 オブジェクト。</param> /// <returns> より小さい値 x が y より小さい。 /// 0 x と y は等しい。 /// 0 より大きい値 x が y より大きい。 </returns> public int Compare(byte[] x, byte[] y) { if ( x.Length == 0 && y.Length == 0 ) { return 0; } else if ( x.Length < y.Length ) { return -1; } else if ( x.Length > y.Length ) { return 1; } for ( int LoopCounter = 0; LoopCounter < x.Length; LoopCounter++ ) { if ( x[LoopCounter] < y[LoopCounter] ) { return -1; } else if ( x[LoopCounter] > y[LoopCounter] ) { return 1; } } return 0; } #endregion #endregion } }