All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
用C#程序监控并显示CPU状态信息_.net资料_编程技术
代码前置时页面输出脚本的要注意的问题_JavaScript技术_编程技术
Login控件也可添加图文验证码_[Asp.Net教程]
C#教程:DLL动态链接库的优点
深入讲解SQL Server 2008的新版CTP特性_[SQL Server教程]
ASP.Net+XML打造留言薄实例_[Asp.Net教程]
在C#中应用哈希表
.Net,2.0,新功能:重构(Refactoring)_.net资料_编程技术
PHP一生成柱状图、横柱图、折线图的类_[PHP教程]
PHP的十个高级技巧(中)_[PHP教程]
Reading number is top 10 pictures
美女当网吧管理员的悲剧
美女和狗狗2
The most popular girls welcome eggplant
Perfect small Laurie1
初五接财神啦!五路财神齐来到
Sanya, hainan Haitian party feast promiscuity
yy365网站上的美女2
9.3阅兵全景图4-陸海空现代化兵种方阵梯队
Sora aoi possession of boudoir2
穷哥们向美女求婚攻略
Download software ranking
软件工程思想
超级战舰
豪门浪荡史
都市狐狸姑娘传
matrix3
Such love down(擒爱记)
WebService在.NET中的实战应用教学视频 → 第2集
matrix1
Be there or be square
Tram sex maniac 2 (H) rar bag11
delv published in(发表于) 2014/1/6 9:05:56 Edit(编辑)
C#3.0新特性之隐式类型局部变量的使用_[Asp.Net教程]

C#3.0新特性之隐式类型局部变量的使用_[Asp.Net教程]

C#3.0新特性之隐式类型局部变量的使用_[Asp.Net教程]

首先说明一下,此新特性的专题基于MS五月份分布的C#3.0规范,但是官方中文版还没有出来,结合自己的实践和理解,希望能和大家一起分享某些前沿的东东,很有可能一些地方会出错,望抛砖。

  在C# 3.0里面, 可以对局部变量进行隐式类型声明, 就是在声明时可以不指定该变量的类型, 变量在初始化的时候会由编译器从表达式的上下文中推出真正的类型, 对开发者来说, 无疑是简化了很多, 主要是通过新的关键字var, 有如下面的例子:


var i = 5;
var s = "Hello";
var d = 1.0;
var numbers = new int[] {1, 2, 3};
var orders = new Dictionary();

  其实上面的声明方法和之前在1.x和2.x中以下的声明方法是等效的:


int i = 5;
string s = "Hello";
double d = 1.0;
int[] = new int[] {1, 2, 3};
Dictionary orders = new Dictionary();

  方便是绝对的, 就像我们之前在某些别的高级语中, 早就实现了此功能, 但是对某局部变量进行隐式类型声明, 也要遵循一定的条件限制:


  - 声明变量时, 必须对该变量进行初始化.


  - 初始化该变量时, 必须使用对应的表达式, 而不能简单地用一个对象或是集合本身, 但如果是使用了关键字new创建的对象或是集合却是合法的, 因为那已经是一个表达式了.

  - 变量初始化的表达式在编译时, 绝对不可以是null类型.

  - 如果将要进行隐式类型声明的局部变量包含多个声明, 则要保证每个初始化表达式都有相同的编译时类型, 保持类型一致, 不能一会是int, 一会又变成了int[].

  下面我们来看几个有误的声明例子:

  例子1:


var x; //声明变量时没有初始化

  例子2:


var y = {1, 2, 3}; //集合本身不能作为初始化表达式

  例子3:


var z = null; //编译时类型不允许为null

  在现行的Orcas编译环境下, 可以使用var声明局部变量, 同时也向后兼容, 即原来的方式是可用的. 另外, 根据MS官方的文档说来, var声明适用于for语句的初始化表达式中, 在using语句中资源获得时也可用, 举个例子可以在foreach语句中的迭代变量应用var:


var numbers = int[] { 1, 3, 5, 7, 9};
foreach(var n in numbers) Console.WriteLine(n);


  不过这样用的前提要求该集合类型必须可以枚举, var就可以自动被编译器认作int类型了。


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.