C#教程:匿名类型和隐式类型变量的区别
隐式类型变量 (Implicitly typed local variables) 象下面的代码书写就是隐式类型变量
var i = xxx ; 的作用就是用 xxx 的类型声明为i的类型。并给i 赋值。 由于声明时候,需要依赖于等号右边的表达式,所以必须同时赋值。否则下面的书写就会报错误: Error Implicitly typed locals must be initialized
使用 Implicitly typed local variables 时应遵守下列约束: 1. The declarator must include an initializer 声明时必须包含初始化器。 2、The initializer must be an expression. The initializer cannot be an object or collection initializer by itself, but it can be a new expression that includes an object or collection initializer. 初始化必须是一个表达式。初始化表达式不能包含它自身,但是可以是包含一个对象或集合初始化器的一个new表达式(即匿名类型)。 3、The compile-time type of the initializer expression cannot be the null type. 初始化器表达式的编译期类型不可以是空(null)类型。 比如: var gg = null; 这行代码就会报错误: Cannot assign '''' to an implicitly typed local 4、If the local variable declaration includes multiple declarators, the initializers must all have the same compile-time type. 如果局部变量声明包含了多个声明符,这些声明符必须具备同样的编译期类型。 比如如下代码:
打印出来的信息会是:
5. The initializer cannot refer to itself. (初始化中不能提起它自身) 隐式类型变量的使用范围,它可不是到处能用。仅仅可以用于下面四种情况 1. 局部变量声明 2. for 语句中变量声明) 3. using 语句初始化变量时. 4. foreach 中iterator类型声明) 比如下面代码就会报错:
|
|||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |