C# 带有显式强制转换的匿名类型变量
你能用显式强制转换声明一个匿名类型的变量吗 例如,您可以执行以下操作:C# 带有显式强制转换的匿名类型变量,c#,anonymous-types,C#,Anonymous Types,你能用显式强制转换声明一个匿名类型的变量吗 例如,您可以执行以下操作: var student = new { ID = 1 , name = "Jim" }; 但不是这个: var student = new { int ID = 1 , string name = "Jim" }; 目标是有一个变量,即: 只读 具有多个具有默认值的显式类型化属性 可以在方法中声明以供临时使用 至于“为什么”的问题,这更多的是我对信息的好奇。假设您希望ID成为Int64否,匿名类型隐式确定数据类型 假
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" };
或者使用
仅供参考,关于做
1L
获得长
感谢@ScottChamberlain-我正是按照您的评论搜索的。
var student = new { ID = 1L , name = "Jim" };