Adr*_* K. 3 c# anonymous-types
为什么var a = 7;要将a类型设置为某种类型(即int代替byte)?C#编译器是否有任何规则/默认值/检查?
Jon*_*eet 14
目前尚不清楚"动态"是什么意思 - 但C#编译器只是遵循规范中规定的规则.对于那种声明:
var a = expression;
Run Code Online (Sandbox Code Playgroud)
类型a是expression.表达式7是类型的int,虽然它也被称为范围内的常量byte,允许:
byte a = 7;
Run Code Online (Sandbox Code Playgroud)
编译.转换的可用性byte虽然不会改变表达式的类型,7但intC#编译器使用的类型也是如此a.
请注意,我建议不要使用var像这样的常量.它结束了代码可以得到周围人的界限相当混乱int,uint,long等var是为了帮助匿名类型,并帮助使代码更易读.当它使代码更少可读,只是不使用它.
| 归档时间: |
|
| 查看次数: |
218 次 |
| 最近记录: |