在C#中将匿名类型转换为键/值数组可以通过使用LINQ查询表达式和字典(Dictionary)来实现。以下是一个示例代码:
var anonymousObject = new { Name = "John", Age = 25, City = "New York" };
var keyValueArray = anonymousObject.GetType()
.GetProperties()
.Select(p => new { Key = p.Name, Value = p.GetValue(anonymousObject) })
.ToArray();
foreach (var item in keyValueArray)
{
Console.WriteLine($"Key: {item.Key}, Value: {item.Value}");
}
这段代码首先创建了一个匿名类型对象anonymousObject
,包含了Name、Age和City属性。然后通过使用GetType()
方法获取匿名类型的类型信息,再使用GetProperties()
方法获取属性信息。接下来,使用LINQ的Select()
方法将每个属性转换为一个包含Key和Value的匿名类型对象,并使用ToArray()
方法将结果转换为键/值数组。
最后,可以通过遍历键/值数组来访问每个属性的键和值。
请注意,这种方法只适用于匿名类型对象的属性都是公共的。如果属性是私有的或受保护的,需要使用反射来获取属性值。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云数据库(TencentDB)。您可以在腾讯云官网上找到更多关于这些产品的详细信息和介绍。
领取专属 10元无门槛券
手把手带您无忧上云