📜  c# 对象到字典 - C# (1)

📅  最后修改于: 2023-12-03 15:29:47.416000             🧑  作者: Mango

C#对象到字典

在C#中,我们可以很方便地将对象转换为字典。

实现方式

我们可以通过以下方式将C#对象转换为字典:

using System.Collections.Generic;
using System.Reflection;

public static IDictionary<string, object> ToDictionary(this object obj)
{
    IDictionary<string, object> dictionary = new Dictionary<string, object>();
    PropertyInfo[] properties = obj.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
    foreach (PropertyInfo property in properties)
    {
        if (property.CanRead)
        {
            dictionary.Add(property.Name, property.GetValue(obj, null));
        }
    }
    return dictionary;
}

此方法将C#对象转换为字典,其中每个属性都成为字典的一个键值对。注意,只会选择可读取的属性。

使用示例

以下示例将演示如何使用该方法将C#对象转换为字典。

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

Person person = new Person();
person.Name = "John";
person.Age = 30;

Dictionary<string, object> dictionary = person.ToDictionary();

现在dictionary将包含{ "Name": "John", "Age": 30 }

总结

将C#对象转换为字典在很多情况下都很有用。使用上述方法,可以很方便地实现该功能。