在 C# 中初始化字典

Muhammad Maisam Abbas 2023年1月30日 2021年3月21日
  1. 在 C# 中初始化预定义数据类型的字典
  2. 在 C# 中初始化用户定义数据类型的字典
在 C# 中初始化字典

在本教程中,我们将讨论在 C# 中初始化字典的方法。

在 C# 中初始化预定义数据类型的字典

字典数据结构以键/值对的形式保存数据。Dictionary<key, value> 类可用于在 C# 中创建字典。我们可以使用 Dictionary<key, value> 类的构造函数在 C# 中初始化字典。下面的代码示例向我们展示了如何使用 C# 中的 Dictionary<key, value> 类的构造函数来初始化字典。

using System;
using System.Collections.Generic;

namespace initialize_dictionary
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<string, string> myDictionary = new Dictionary<string, string>
            {
                { "Key1","Value1" },
                { "Key2", "Value2" },
                { "Key3", "Value3" },
            };
            foreach(var x in myDictionary)
            {
                Console.WriteLine(x);
            }
        }
    }
}

输出:

[Key1, Value1]
[Key2, Value2]
[Key3, Value3]

我们使用 C# 中的 Dictionary<key, value> 类的构造函数声明并初始化了字典 myDictionary。我们可以使用此示例声明和初始化任何预定义数据类型的字典,但不能使用 C# 中的此方法声明和初始化用户定义数据类型的字典。

在 C# 中初始化用户定义数据类型的字典

我们可以使用 C# 中的 new 运算符来初始化类对象的字典。new 运算符用于将内存位置分配给类定义。以下代码示例向我们展示了如何使用 C# 中的 new 运算符初始化类对象的字典。

using System;
using System.Collections.Generic;

namespace initialize_dictionary
{
    public class Person {
        private string name;
        private string email;
        public Person(string n, string e)
        {
            name = n;
            email = e;
        }
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<int, Person> myDictionary = new Dictionary<int, Person>
            {
                { 1, new Person("Person 1", "email1") },
                { 2, new Person("Person 2", "email2") },
                { 3, new Person("Person 3", "email3") }
            };
        }
    }
}

我们用字符串数据类型的属性 nameemail 声明了 Person 类。我们定义了一个构造函数来初始化 nameemail 类成员。我们用 C# 中的 new 运算符在 Dictionary<key, value> 类的构造函数内调用了 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