C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で大文字と小文字を区別する空のHybridDictionaryを作成する方法

C#のHybridDictionaryは、要素数が少ない間はListDictionaryとして高速に動作し、要素が増えると自動的にHashtableへ切り替わるコレクションクラスです。System.Collections.Specialized名前空間に属しています。

引数を指定しないコンストラクタnew HybridDictionary()で生成したインスタンスは、大文字と小文字を区別する辞書になります。以下のコード例でその挙動を確認してみましょう。

例1:空のHybridDictionaryを作成して要素を追加する

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
   public static void Main() {
      HybridDictionary myDict = new HybridDictionary();
      myDict.Add("A", "AB");
      myDict.Add("B", "BC");
      myDict.Add("C", "DE");
      myDict.Add("D", "FG");
      myDict.Add("e", "fg");

      Console.WriteLine("Key/Value pairs...");
      foreach(DictionaryEntry de in myDict)
         Console.WriteLine("Key = "+de.Key + ", Value = " + de.Value);
   }
}

出力

Key/Value pairs...
Key = A, Value = AB
Key = B, Value = BC
Key = C, Value = DE
Key = D, Value = FG
Key = e, Value = fg

foreachループでDictionaryEntryを順に取り出すことで、登録されているすべてのキーと値のペアを表示できます。

例2:大文字と小文字が区別されることを確認する

using System;
using System.Collections;
using System.Collections.Specialized;

public class Demo {
   public static void Main() {
      HybridDictionary myDict = new HybridDictionary();
      myDict.Add("A", "PQ");
      myDict.Add("B", "BC");
      myDict.Add("C", "tu");
      myDict.Add("D", "FG");
      myDict.Add("d", "gh");
      myDict.Add("e", "fg");

      Console.WriteLine("Key/Value pairs...");
      foreach(DictionaryEntry de in myDict)
         Console.WriteLine("Key = "+de.Key + ", Value = " + de.Value);
   }
}

出力

Key/Value pairs...
Key = A, Value = PQ
Key = B, Value = BC
Key = C, Value = tu
Key = D, Value = FG
Key = d, Value = gh
Key = e, Value = fg

注目すべきは「D」と「d」のペアです。アルファベットとしては同じ文字ですが、大文字と小文字が異なるため、それぞれ独立したキーとして登録されています。もし大文字と小文字を区別しない辞書であれば、同一キーを2回追加しようとした時点でArgumentExceptionがスローされます。

このように、既定のコンストラクタで作成したHybridDictionaryは大文字と小文字を区別します。逆に、大文字と小文字を無視したい場合は、コンストラクタにtrueを渡し、new HybridDictionary(true)のように生成してください。

  1. HTML5のカスタムデータ属性(data-*)の作成方法と使い方

    HTML5カスタムデータ属性とはHTML5で新たに導入された注目すべき機能の一つが、「カスタムデータ属性(data-* 属性)」です。これにより、開発者はHTML要素に対して独自の情報を自由に持たせることができるようになりました。カスタムデータ属性は必ず接頭辞「data-」で始まり、その後の名前は用途に合わせて自由に決めることができます。基本的な書き方<div class = "example" data-sports = "cricket" data-level = "complex">   

  2. JavaScriptでnewキーワードを使って配列を作成する方法

    JavaScriptでは、newキーワードとArray()コンストラクタを使用することで、簡単に配列を作成できます。本記事では、実際に動作するサンプルコードとともに、その基本的な使い方を解説します。 サンプルコード 以下は、newキーワードを使用してJavaScriptの配列を作成するコード例です。 <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-sca