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

Muhammad Maisam Abbas 2023年1月30日 2021年3月21日
  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