📅  最后修改于: 2023-12-03 15:29:47.416000             🧑  作者: Mango
在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#对象转换为字典在很多情况下都很有用。使用上述方法,可以很方便地实现该功能。