c# - 具有显式转换的匿名类型变量

标签 c# anonymous-types

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

例如,您可以这样做:

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

但不是这个:

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

目标是拥有一个变量:

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

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

最佳答案

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

Suppose you wanted ID to be an Int64.

然后通过 casting 明确说明到您需要的类型:

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

或使用 suffix

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

关于c# - 具有显式转换的匿名类型变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34905829/

相关文章:

c# - 依赖注入(inject) : How to pass the injection container around?

c# - 不在 C# 中处理的随机对象

vb.net - 选项严格类型和匿名类型不能一起使用吗?

c# - 将对象的匿名类添加到匿名列表

c# - 如何使用 Linq 将 order(autoIncrement) 属性添加到集合?

C# 匿名类型 foreach 循环,更好的方法吗?

c# - 检查字符串是否为有效整数、 double 、 bool 等的扩展方法

c# - 转换器和枚举以更改 TextBlock 的前景色

c# - 将 excel 工作表保存到我在本地计算机上创建的特定文件夹,并将此 excel 工作表设置为只读

c# - 使用动态类型从匿名对象中获取值是不好的做法吗?