具有显式强制转换的匿名类型变量

时间:2016-01-20 16:50:30

标签: c# anonymous-types

你能用明确的演员声明一个匿名类型的变量吗?

例如,您可以这样做:

var student = new { ID = 1 , name = "Jim" };

但不是这样:

var student = new { int ID = 1 , string name = "Jim" };

目标是拥有一个变量:

  • 只读
  • 具有多个具有默认值的显式类型属性
  • 可以在临时使用方法中声明

至于“为什么?”的问题,这更多是我的信息好奇心。假设您希望ID成为Int64

1 个答案:

答案 0 :(得分:7)

不,匿名类型会隐式确定数据类型。

  

假设您希望ID为Int64。

然后由casting明确指出您需要的类型:

var student = new { ID = (long)1 , name = "Jim" };

或使用suffix

var student = new { ID = 1L , name = "Jim" };