[C#の.NET] [VB.NET]れたIEqualityComparerは大文字と小文字を区別しない練習

[C#の.NET] [VB.NET]れたIEqualityComparerは大文字と小文字を区別しない練習


練習されたIEqualityComparer 、大文字と小文字を区別しない比較を

       //練習
        パブリッククラスInComparer:されたIEqualityComparer
        {
            CaseInsensitiveComparer myComparer =新しいCaseInsensitiveComparer();
            公共のint GetHashCodeメソッド(オブジェクトobj)
            {
                戻るobj.ToString()ToLowerInvariant()GetHashCodeメソッド()。。。
            }
            パブリック新しいBOOLに等しい(オブジェクトX、オブジェクトY)
            {
                IF(myComparer.Compare(X、Y)== 0)
                {
                    trueを返します。
                }
                {
                    falseを返します。
                }
            }
        }


最初のためない場合最初と同じように、プログラム例外は、実行中に発生します。

//クラス参照
HashtableのMYDATA =新しいHashtableの(新しいInComparer());
myData.Add( "第一"、 "第一")。
myData.Add( "Senond"、 "第2回");
myData.Add( "第三"、 "第3")。
myData.Add( "第四"、 "第4回");
myData.Add( "第五"、 "第5回");
myData.Add( "第1"、 "第一")。
foreachの(MYDATAでDictionaryEntry myEntry)
{
       Console.WriteLineを( "{0} = {1}"、myEntry.Key、myEntry.Value)。
}


もちろん、あなたが使用することもできCollectionsUtilの大文字と小文字を区別していないクラスは、このプログラムははるかに短くなります。

ハッシュテーブルMYCOLL = CollectionsUtil.CreateCaseInsensitiveHashtable()。
myColl.Add( "A"、 "1234")。
myColl.Add( "A"、 "1234");


エラーした場合、負担する彼を投稿初心者を通知してください

第4四半期の2010〜2017のC#

オリジナル:大カラム  [C#.NET] [VB.NET]れたIEqualityComparerは大文字と小文字を区別しない練習


おすすめ

転載: www.cnblogs.com/chinatrump/p/11513141.html