如何在C#中创建动态对象

Pow*_*red 1 javascript c# variables object

我之前正在研究javascript.

在javascript中,我这样做是为了创建动态对象并为其分配属性.

var house = new object();
house.kitchen = 1;
house.bedroom = 2;
house.livingroom =3;
Run Code Online (Sandbox Code Playgroud)

如何在C#中做同样的事情?

Bas*_*nni 5

在C#中有一些dynamic你可以使用的东西

dynamic house = new ExpandoObject();
house.Kitchen = 1;
house.Bedroom = 2;
house.Livingroom =3;
Run Code Online (Sandbox Code Playgroud)

但是,如果我是c#的新手,那我不会开始,dynamic有非常具体的用途,通常是在更高级的情况下.你真正应该关注的是类和对象.C#是一种静态语言,动态就是为了给它提供更多的灵活性.

  • +1.`var house =(dynamic)new object()`是另一个选项,如果你喜欢`var`甚至`var house = new {kitchen = 1,bedroom = 2,livingroom = 3};`(但是你已经指出了更好地使用强类型对象). (2认同)