C# で C++ Map<T1, T2>と同等のデータ構造

Muhammad Maisam Abbas 2024年2月16日
  1. C# で C++ Map<T1, T2>と同等のデータ構造
  2. C++ unordered_map<key, value> C# で同等
C# で C++ Map<T1, T2>と同等のデータ構造

このチュートリアルでは、C++ の map <T1、T2>に相当する C# を紹介します。

C# で C++ Map<T1, T2>と同等のデータ構造

C++ の map<key, value> データ構造は、key-value ペアの形式でデータを保持するために使用されます。これに最も近い代替手段は、C# の Dictionary<Tkey, Tvalue> クラスです。Dictionary データ構造は、C# の key-value のペアの形式でデータも保持します。辞書内のエントリの順序に関心がある場合は、C# の“SortedDictionary<Tkey, Tvalue>” クラスを使用することができます。次のコード例は、C# の SortedDictionary<Tkey, Tvalue> クラスと key-value ペアの形式でデータを格納する方法を示しています。

using System;
using System.Collections.Generic;

namespace C__map_alternative {
  class Program {
    static void Main(string[] args) {
      SortedDictionary<int, string> person = new SortedDictionary<int, string>();
      person.Add(1, "ABC");
      person.Add(2, "DEF");
      person.Add(3, "GHI");
      foreach (var pair in person) {
        Console.WriteLine(pair);
      }
    }
  }
}

出力:

[1, ABC]
[2, DEF]
[3, GHI]

上記のコードでは、C# の SortedDictionary<int, string> クラスを使用して、並べ替えられた辞書 person を作成します。SortedDictionary.Add() 関数を使用して、データを key-value ペアの形式で person ディクショナリに渡します。最後に、foreach ループを使用して person ディクショナリ内のデータを出力します。

C++ unordered_map<key, value> C# で同等

C++ の unordered_map<key, value> データ構造について説明する場合、データを key-value ペアの形式で格納することだけに関心があり、ペアの順序には関心がありません。この場合、Dictionary<Tkey, Tvalue> クラスを利用して、データを key-value ペアの形式で C# に格納できます。以下の例を参照してください。

using System;
using System.Collections.Generic;

namespace C__map_alternative {
  class Program {
    static void Main(string[] args) {
      Dictionary<int, string> person = new Dictionary<int, string>();
      person.Add(1, "ABC");
      person.Add(2, "DEF");
      person.Add(3, "GHI");
      foreach (var pair in person) {
        Console.WriteLine(pair);
      }
    }
  }
}

出力:

[1, ABC]
[2, DEF]
[3, GHI]

上記のコードでは、C# の Dictionary<int, string> クラスを使用して、ソートされていない辞書 person を作成します。Dictionary.Add() 関数を使用して、データを key-value ペアの形式で person ディクショナリに渡します。最後に、foreach ループを使用して person ディクショナリ内のデータを出力します。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp Dictionary