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

本文关键字:类型变量 转换 | 更新日期: 2023-09-27 18:31:07

你能用显式强制转换声明一个匿名类型的变量吗?

例如,您可以执行以下操作:

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

但不是这个:

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

目标是有一个变量,即:

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

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

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

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

假设您希望 ID 是 Int64。

然后通过强制转换为所需的类型来显式:

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

或使用后缀

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