有没有办法在像C#这样的C#中创建标准类和对象

时间:2012-03-06 15:50:42

标签: c# php class object

在php中我们可以创建像这样的标准类和objes

< ?php 
     

$ car = new stdClass;
  $ car-&gt; Color ='black';
  $ car-&gt; type ='sports';

     

的print_r($车);
  ?&GT;

在C#.net中是否有类似的方法? 我对C#很新,任何人都可以帮忙???

3 个答案:

答案 0 :(得分:10)

您可以在C#中使用Anonymous Types,例如:从链接中获取:

var v = new { Amount = 108, Message = "Hello" };
    Console.WriteLine(v.Amount + v.Message);

请注意备注部分的限制(例如,只能转换为对象)等。

答案 1 :(得分:8)

C#是静态类型的,因此必须先声明常规类才能使用它们。但是,匿名类型允许您基于初始化声明类。声明后,既不能改变类型也不能改变实例。

对于更动态的方法,请查看允许动态添加属性的ExpandoObject。这需要C#4,并且必须将引用声明为动态。

dynamic car = new ExpandoObject();
car.Color = "Black";
car.Type "Sports";

答案 2 :(得分:3)

您可以使用匿名类型,但它们并不完全相同:http://msdn.microsoft.com/en-us/library/bb397696.aspx

C#真的是关于强类型的,所以弱类型支持非常弱。根据您在这里实际执行的操作,匿名类型可能有效,但通常您应该在使用C#编码时创建实际类。对于上面的Car示例,我通常会创建一个类。这是更多的代码,但这就是C#的方式。 PHP你可以用10个PHP文件创建一个应用程序,但同样的C#应用​​程序最终可能会达到20-30个。