#author("2019-12-16T22:02:33+09:00","","") #navi(../) * 連想配列(ハッシュ)を使ってみる・Dictionary [#i5e99410] .NETで連想配列(ハッシュテーブル)を使いたい場合は、Dictionaryクラスを使うと簡単に連想配列を実現できます。~ 以下にC#,Visual Basic(VB)のサンプルコードを紹介します。 #htmlinsert(windev-top.html) #contents * 参考サイト [#uabe36ee] -[[Microsoft|.NET Dictionary クラス>https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.dictionary-2?view=netframework-4.8]] -[[Microsoft|.NET KeyValuePair<TKey,TValue> 構造体>https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.keyvaluepair-2?view=netframework-4.8]] * テスト環境 [#ga4e5cc3] - Windows 10 ver.1909 - Visual Studio 2019 - .NET Core * サンプルコードの説明 [#i8af0dd8] サンプルコードでは、以下の処理を行っています。 -Dictionaryクラスを使って、キーがstring、値もstringのキーバリューを作成してます。~ キーがstring, 値が数値の場合は string, int などとすれば実現できます。 -ハッシュテーブル(連想配列)に2つのペアをAddメソッドで追加しています。 -foreachを使って、キー+値を表示しています。 -ContainsKeyメソッドを使って値が存在するかをチェックしています。 *サンプルコード [#x094f579] 以下に C# と Visual Basic(VB) のサンプルコードを紹介します。 ** C# [#n8725981] 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) [#e4b88292] 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 ** 実行結果 [#ef15d59a] 上記のサンプルコードを実行した時のキャプチャになります。 #ref(01.png) 以上、.NETで連想配列(ハッシュテーブル)のサンプルコードでした。 #htmlinsert(windev-btm.html)