CaseInsensitiveHashCodeProvider クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ObsoleteAttribute("Please use StringComparer instead.")> _ <ComVisibleAttribute(True)> _ Public Class CaseInsensitiveHashCodeProvider Implements IHashCodeProvider
[SerializableAttribute] [ObsoleteAttribute("Please use StringComparer instead.")] [ComVisibleAttribute(true)] public class CaseInsensitiveHashCodeProvider : IHashCodeProvider
[SerializableAttribute] [ObsoleteAttribute(L"Please use StringComparer instead.")] [ComVisibleAttribute(true)] public ref class CaseInsensitiveHashCodeProvider : IHashCodeProvider

CaseInsensitiveHashCodeProvider は、文字列の大文字と小文字を区別しない比較をサポートする IHashCodeProvider インターフェイスを実装しています。同様に、CaseInsensitiveComparer は、文字列の大文字と小文字を区別しない比較をサポートする IComparer インターフェイスを実装しています。
Hashtable でキーとして使用されるオブジェクトは、Object.GetHashCode メソッド (または IHashCodeProvider インターフェイス) およびObject.Equals メソッド (または IComparer インターフェイス) を実装または継承している必要があります。メソッドまたはインターフェイスのどちらの実装でも、大文字と小文字の区別を同じ方法で処理する必要があります。そのように実装されていないと、Hashtable が正しく動作しない場合があります。たとえば、Hashtable を作成するとき、このクラスは、CaseInsensitiveComparer クラスか大文字と小文字を区別しない IComparer 実装と共に使用する必要があります。

次に示すのは、大文字と小文字を区別するハッシュ テーブルと、大文字と小文字を区別しないハッシュ テーブルを作成するコード例です。それぞれのハッシュ テーブルに含まれている要素が同じでも、両者の動作は異なることがわかります。
Imports System Imports System.Collections Imports System.Globalization Public Class SamplesHashtable Public Shared Sub Main() ' Create a Hashtable using the default hash code provider and the default comparer. Dim myHT1 As New Hashtable() myHT1.Add("FIRST", "Hello") myHT1.Add("SECOND", "World") myHT1.Add("THIRD", "!") ' Create a Hashtable using a case-insensitive code provider and a case-insensitive comparer, ' based on the culture of the current thread. Dim myHT2 As New Hashtable(New CaseInsensitiveHashCodeProvider(), New CaseInsensitiveComparer()) myHT2.Add("FIRST", "Hello") myHT2.Add("SECOND", "World") myHT2.Add("THIRD", "!") ' Create a Hashtable using a case-insensitive code provider and a case-insensitive comparer, ' based on the InvariantCulture. Dim myHT3 As New Hashtable(CaseInsensitiveHashCodeProvider.DefaultInvariant, CaseInsensitiveComparer.DefaultInvariant) myHT3.Add("FIRST", "Hello") myHT3.Add("SECOND", "World") myHT3.Add("THIRD", "!") ' Create a Hashtable using a case-insensitive code provider and a case-insensitive comparer, ' based on the Turkish culture (tr-TR), where "I" is not the uppercase version of "i". Dim myCul As New CultureInfo("tr-TR") Dim myHT4 As New Hashtable(New CaseInsensitiveHashCodeProvider(myCul), New CaseInsensitiveComparer(myCul)) myHT4.Add("FIRST", "Hello") myHT4.Add("SECOND", "World") myHT4.Add("THIRD", "!") ' Search for a key in each hashtable. Console.WriteLine("first is in myHT1: {0}", myHT1.ContainsKey("first")) Console.WriteLine("first is in myHT2: {0}", myHT2.ContainsKey("first")) Console.WriteLine("first is in myHT3: {0}", myHT3.ContainsKey("first")) Console.WriteLine("first is in myHT4: {0}", myHT4.ContainsKey("first")) End Sub 'Main End Class 'SamplesHashtable 'This code produces the following output. Results vary depending on the system's culture settings. ' 'first is in myHT1: False 'first is in myHT2: True 'first is in myHT3: True 'first is in myHT4: False
using System; using System.Collections; using System.Globalization; public class SamplesHashtable { public static void Main() { // Create a Hashtable using the default hash code provider and the default comparer. Hashtable myHT1 = new Hashtable(); myHT1.Add("FIRST", "Hello"); myHT1.Add("SECOND", "World"); myHT1.Add("THIRD", "!"); // Create a Hashtable using a case-insensitive code provider and a case-insensitive comparer, // based on the culture of the current thread. Hashtable myHT2 = new Hashtable( new CaseInsensitiveHashCodeProvider(), new CaseInsensitiveComparer() ); myHT2.Add("FIRST", "Hello"); myHT2.Add("SECOND", "World"); myHT2.Add("THIRD", "!"); // Create a Hashtable using a case-insensitive code provider and a case-insensitive comparer, // based on the InvariantCulture. Hashtable myHT3 = new Hashtable( CaseInsensitiveHashCodeProvider.DefaultInvariant, CaseInsensitiveComparer.DefaultInvariant ); myHT3.Add("FIRST", "Hello"); myHT3.Add("SECOND", "World"); myHT3.Add("THIRD", "!"); // Create a Hashtable using a case-insensitive code provider and a case-insensitive comparer, // based on the Turkish culture (tr-TR), where "I" is not the uppercase version of "i". CultureInfo myCul = new CultureInfo( "tr-TR" ); Hashtable myHT4 = new Hashtable( new CaseInsensitiveHashCodeProvider( myCul ), new CaseInsensitiveComparer( myCul ) ); myHT4.Add("FIRST", "Hello"); myHT4.Add("SECOND", "World"); myHT4.Add("THIRD", "!"); // Search for a key in each hashtable. Console.WriteLine( "first is in myHT1: {0}", myHT1.ContainsKey( "first" ) ); Console.WriteLine( "first is in myHT2: {0}", myHT2.ContainsKey( "first" ) ); Console.WriteLine( "first is in myHT3: {0}", myHT3.ContainsKey( "first" ) ); Console.WriteLine( "first is in myHT4: {0}", myHT4.ContainsKey( "first" ) ); } } /* This code produces the following output. Results vary depending on the system's culture settings. first is in myHT1: False first is in myHT2: True first is in myHT3: True first is in myHT4: False */
using namespace System; using namespace System::Collections; using namespace System::Globalization; int main() { // Create a Hashtable using the default hash code provider and the default comparer. Hashtable^ myHT1 = gcnew Hashtable; myHT1->Add( "FIRST", "Hello" ); myHT1->Add( "SECOND", "World" ); myHT1->Add( "THIRD", "!" ); // Create a Hashtable using a case-insensitive code provider and a case-insensitive comparer, // based on the culture of the current thread. Hashtable^ myHT2 = gcnew Hashtable( gcnew CaseInsensitiveHashCodeProvider,gcnew CaseInsensitiveComparer ); myHT2->Add( "FIRST", "Hello" ); myHT2->Add( "SECOND", "World" ); myHT2->Add( "THIRD", "!" ); // Create a Hashtable using a case-insensitive code provider and a case-insensitive comparer, // based on the InvariantCulture. Hashtable^ myHT3 = gcnew Hashtable( CaseInsensitiveHashCodeProvider::DefaultInvariant,CaseInsensitiveComparer::DefaultInvariant ); myHT3->Add( "FIRST", "Hello" ); myHT3->Add( "SECOND", "World" ); myHT3->Add( "THIRD", "!" ); // Create a Hashtable using a case-insensitive code provider and a case-insensitive comparer, // based on the Turkish culture (tr-TR), where "I" is not the uppercase version of "i". CultureInfo^ myCul = gcnew CultureInfo( "tr-TR" ); Hashtable^ myHT4 = gcnew Hashtable( gcnew CaseInsensitiveHashCodeProvider( myCul ),gcnew CaseInsensitiveComparer( myCul ) ); myHT4->Add( "FIRST", "Hello" ); myHT4->Add( "SECOND", "World" ); myHT4->Add( "THIRD", "!" ); // Search for a key in each hashtable. Console::WriteLine( "first is in myHT1: {0}", myHT1->ContainsKey( "first" ) ); Console::WriteLine( "first is in myHT2: {0}", myHT2->ContainsKey( "first" ) ); Console::WriteLine( "first is in myHT3: {0}", myHT3->ContainsKey( "first" ) ); Console::WriteLine( "first is in myHT4: {0}", myHT4->ContainsKey( "first" ) ); } /* This code produces the following output. Results vary depending on the system's culture settings. first is in myHT1: False first is in myHT2: True first is in myHT3: True first is in myHT4: False */
import System.*; import System.Collections.*; import System.Globalization.*; public class SamplesHashtable { public static void main(String[] args) { // Create a Hashtable using the default hash code provider and the // default comparer. Hashtable myHT1 = new Hashtable(); myHT1.Add("FIRST", "Hello"); myHT1.Add("SECOND", "World"); myHT1.Add("THIRD", "!"); // Create a Hashtable using a case-insensitive code provider and a // case-insensitive comparer, based on the culture of the // current thread. Hashtable myHT2 = new Hashtable(new CaseInsensitiveHashCodeProvider(), new CaseInsensitiveComparer()); myHT2.Add("FIRST", "Hello"); myHT2.Add("SECOND", "World"); myHT2.Add("THIRD", "!"); // Create a Hashtable using a case-insensitive code provider and // a case-insensitive comparer, based on the InvariantCulture. Hashtable myHT3 = new Hashtable(CaseInsensitiveHashCodeProvider.get_DefaultInvariant() , CaseInsensitiveComparer.get_DefaultInvariant()); myHT3.Add("FIRST", "Hello"); myHT3.Add("SECOND", "World"); myHT3.Add("THIRD", "!"); // Create a Hashtable using a case-insensitive code provider and a // case-insensitive comparer, based on the Turkish culture (tr-TR), // where "I" is not the uppercase version of "i". CultureInfo myCul = new CultureInfo("tr-TR"); Hashtable myHT4 = new Hashtable(new CaseInsensitiveHashCodeProvider(myCul), new CaseInsensitiveComparer(myCul)); myHT4.Add("FIRST", "Hello"); myHT4.Add("SECOND", "World"); myHT4.Add("THIRD", "!"); // Search for a key in each hashtable. Console.WriteLine("first is in myHT1: {0}", (System.Boolean)myHT1.ContainsKey("first")); Console.WriteLine("first is in myHT2: {0}", (System.Boolean)myHT2.ContainsKey("first")); Console.WriteLine("first is in myHT3: {0}", (System.Boolean)myHT3.ContainsKey("first")); Console.WriteLine("first is in myHT4: {0}", (System.Boolean)myHT4.ContainsKey("first")); } //main } //SamplesHashtable /* This code produces the following output. Results vary depending on the system's culture settings. first is in myHT1: False first is in myHT2: True first is in myHT3: True first is in myHT4: False */

System.Collections.CaseInsensitiveHashCodeProvider


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

サポート対象 : 1.0、1.1
2.0 では、互換性のために残されています (コンパイル時に警告)
.NET Compact Framework
サポート対象 : 1.0
2.0 では、互換性のために残されています (コンパイル時に警告)

Weblioに収録されているすべての辞書からCaseInsensitiveHashCodeProvider クラスを検索する場合は、下記のリンクをクリックしてください。

- CaseInsensitiveHashCodeProvider クラスのページへのリンク