📜  c# 将字典转换为匿名对象 - C# (1)

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

C# 将字典转换为匿名对象

在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"]分别赋值其属性onethree。最后,将匿名对象的属性值输出到控制台上。

运行以上代码,输出结果为:

one: 1, three: 3
使用Linq转换字典为匿名对象

除了上面的方式,我们还可以使用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方法将字典中的键值对转换为匿名对象,包含两个属性KeyValue。最后,使用ToDictionary方法将匿名对象转换为字典。最后,将匿名对象的属性值输出到控制台上。

运行以上代码,输出结果同样为:

one: 1, three: 3
总结

本文介绍了如何在C#中将字典转换为匿名对象,包括直接赋值和使用Linq转换两种方式。使用匿名对象可以让代码更简洁、更易读。