このエントリーをはてなブックマークに追加


連想配列(ハッシュ)を使ってみる・Dictionary

.NETで連想配列(ハッシュテーブル)を使いたい場合は、Dictionaryクラスを使うと簡単に連想配列を実現できます。
以下にC#,Visual Basic(VB)のサンプルコードを紹介します。

関連サイト

関連記事

動作確認環境

  • Windows 10 ver.1909
  • Visual Studio 2019
  • .NET Core

サンプルコードの説明

サンプルコードでは、以下の処理を行っています。

  • Dictionaryクラスを使って、キーがstring、値もstringのキーバリューを作成してます。
    キーがstring, 値が数値の場合は string, int などとすれば実現できます。
  • ハッシュテーブル(連想配列)に2つのペアをAddメソッドで追加しています。
  • foreachを使って、キー+値を表示しています。
  • ContainsKeyメソッドを使って値が存在するかをチェックしています。

サンプルコード

以下に C# と Visual Basic(VB) のサンプルコードを紹介します。

C#

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        Dictionary<string, string> ht = new Dictionary<string, string>();

        ht.Add("key1", "value1");
        ht.Add("key2", "value2");
        // Dictionary内のキー、値をループで表示する
        foreach (KeyValuePair<string,string> pair in ht)
        {
            Console.WriteLine("key : {0}, value : {1}", pair.Key, pair.Value);
        }
        // ハッシュキーで値を取得する
        Console.WriteLine("key1={0}", ht["key1"]);
        Console.WriteLine("key2={0}", ht["key2"]);
        // ハッシュキーが含まれているかを確認する
        Console.WriteLine("ContainsKey(\"key1\") : " + ht.ContainsKey("key1"));
        Console.WriteLine("ContainsKey(\"key3\") : " + ht.ContainsKey("key3"));
    }
}

Visual Basic (VB)

Imports System

Module Program
    Sub Main(args As String())
        Dim ht As Dictionary(Of String, String) = New Dictionary(Of String, String)
        ht.Add("key1", "value1")
        ht.Add("key2", "value2")
        'Dictionary内のキー、値をループで表示する
        For Each pair As KeyValuePair(Of String, String) In ht
            Console.WriteLine("key : {0}, value : {1}", pair.Key, pair.Value)
        Next
        'ハッシュキーで値を取得する
        Console.WriteLine("key1={0}", ht("key1"))
        Console.WriteLine("key2={0}", ht("key2"))
        'ハッシュキーが含まれているかを確認する
        Console.WriteLine("ContainsKey(""key1"") : " & ht.ContainsKey("key1"))
        Console.WriteLine("ContainsKey(""key3"") : " & ht.ContainsKey("key3"))
    End Sub
End Module

実行結果

上記のサンプルコードを実行した時のキャプチャになります。

01.png

以上、.NETで連想配列(ハッシュテーブル)のサンプルコードでした。


添付ファイル: file01.png 205件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-05-14 (木) 09:21:04