首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在c#中将匿名类型转换为键/值数组?

在C#中将匿名类型转换为键/值数组可以通过使用LINQ查询表达式和字典(Dictionary)来实现。以下是一个示例代码:

代码语言:csharp
复制
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)。您可以在腾讯云官网上找到更多关于这些产品的详细信息和介绍。

  • 腾讯云云服务器(CVM):提供可扩展的云服务器实例,适用于各种计算需求。详情请参考:腾讯云云服务器
  • 腾讯云数据库(TencentDB):提供可靠、高性能的数据库解决方案,包括关系型数据库和NoSQL数据库。详情请参考:腾讯云数据库
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券