[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は大文字と小文字を区別しない練習