0

我之前正在研究javascript。

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

var house = new object();
house.kitchen = 1;
house.bedroom = 2;
house.livingroom =3;

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

4

2 回答 2

5

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

dynamic house = new ExpandoObject();
house.Kitchen = 1;
house.Bedroom = 2;
house.Livingroom =3;

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

于 2013-10-31T02:42:58.633 回答
0

我猜你正在寻找类似C# 中的ExpandoObject的东西。有关如何使用它的详细信息,请参阅此问题。基本上,它允许您以类似于 Javascript 的方式在运行时向对象添加属性。但是请注意,惯用的 C# 并没有充分利用它。

您的 JavaScript 示例的类似 C# 代码将是这样的:

dynamic house = new ExpandoObject();
house.kitchen = 1;
house.bedroom = 2;
house.livingroom = 3;
于 2013-10-31T02:42:55.100 回答