Jsi*_*inh 1 c# variables using anonymous-types
我最近在Smarterer尝试了C#的技能测试.
我遇到一个问题,说明以下哪一项可用于在C#中创建一个匿名类型(类似的东西).
我选择了"没有这些"(我不记得其他选项,因为基于时间的测试只有10秒).
一旦我给出答案,它说这{...}
是正确的答案.
所以我想这样的事情:
var someVariableName = new {...};
创建匿名类型.
我很惊讶地看到这一点并且有点笨拙,但却找不到类似的东西.
问题:在使用{...}
关键字或运算符实例化时,是否有任何方法可以创建匿名类型而不声明其类型?或问题的正确答案是不是"正确"?
dynamic
如果我没有错,可以使用关键字来完成.
http://msdn.microsoft.com/en-GB/library/bb397696.aspx是MS文档,引用:
您可以通过将new运算符与对象初始值设定项一起使用来创建匿名类型.有关对象初始值设定项的详细信息,请参阅对象和集合初始值设定项(C#编程指南).以下示例显示了使用名为Amount和Message的两个属性初始化的匿名类型.
C#
var v = new { Amount = 108, Message = "Hello" };
Run Code Online (Sandbox Code Playgroud)
这不是动态类型,这是一种"匿名"的特定静态类型,即您没有给它命名.但是,编译器有/将等v仍然是强类型的,你得到intellisense,v.FieldIDontHave会给编译器错误.