📅  最后修改于: 2023-12-03 15:13:51.383000             🧑  作者: Mango
在C#中,我们可以使用字典(Dictionary)存储键值对数据。然而,在实际开发中,可能需要将字典转换为匿名对象(Anonymous Object),以便更方便地在程序中使用。
以下代码演示了如何将字典转换为匿名对象:
var dict = new Dictionary<string, int>();
dict.Add("one", 1);
dict.Add("two", 2);
dict.Add("three", 3);
var anonymousObject = new { one = dict["one"], three = dict["three"] };
Console.WriteLine($"one: {anonymousObject.one}, three: {anonymousObject.three}");
上述代码首先创建了一个包含键值对的字典。接下来,使用new { ... }
语法创建了一个匿名对象,使用dict["one"]
和dict["three"]
分别赋值其属性one
和three
。最后,将匿名对象的属性值输出到控制台上。
运行以上代码,输出结果为:
one: 1, three: 3
除了上面的方式,我们还可以使用Linq来转换字典为匿名对象。以下代码演示了如何使用Linq转换字典为匿名对象:
var dict = new Dictionary<string, int>();
dict.Add("one", 1);
dict.Add("two", 2);
dict.Add("three", 3);
var anonymousObject = dict.Select(x => new { Key = x.Key, Value = x.Value })
.ToDictionary(x => x.Key, x => x.Value);
Console.WriteLine($"one: {anonymousObject["one"]}, three: {anonymousObject["three"]}");
上述代码中,首先创建了一个字典。接下来,使用Select
方法将字典中的键值对转换为匿名对象,包含两个属性Key
和Value
。最后,使用ToDictionary
方法将匿名对象转换为字典。最后,将匿名对象的属性值输出到控制台上。
运行以上代码,输出结果同样为:
one: 1, three: 3
本文介绍了如何在C#中将字典转换为匿名对象,包括直接赋值和使用Linq转换两种方式。使用匿名对象可以让代码更简洁、更易读。