C# 中等效的 C++ Map<T1, T2>

Muhammad Maisam Abbas 2024年2月16日
  1. C++map<key, value> 在 C# 中等效
  2. C++ unordered_map<key, value> 在 C# 中等效
C# 中等效的 C++ Map<T1, T2>

本教程將介紹 C# 中相當於 C++ 中的 map<T1, T2> 的資料型別。

C++map<key, value> 在 C# 中等效

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() 函式以鍵值對的形式將資料傳遞到 person 字典中。最後,我們使用 foreach 迴圈在 person 字典中列印資料。

C++ unordered_map<key, value> 在 C# 中等效

當我們談論 C++ 中的 unordered_map<key, value> 資料結構時,我們只關心以 key-value 對的形式儲存資料,而不關心對中的順序。在這種情況下,我們可以利用 Dictionary<Tkey, Tvalue> 類在 C# 中以 key-value 對的形式儲存資料。請參見以下示例。

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() 函式以鍵值對的形式將資料傳遞到字典中。最後,我們使用 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