C#中var关键字【转】
【转】http://blog.csdn.net/courageously/article/details/5695626
var关键字是C# 3.0开始新增的特性,称为推断类型 . 可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。 上面的资料有点抽象不好理解. 示例: 原来我们定义变量,是要这样: 数据类型 变量名 = 值; 如: int a = 1; string b = "2"; 也就是说,"必须先明确地"指定你的变量是什么数据类型,才能给它赋值.这点很重要,要记住才好比较. 现在在C# 3.0里,有了变化,就是可以不用像上面那样定义变量了. 如: var a =1 ; 那这个a,是什么类型呢?和原来的做法不一样了. 奥妙就在这里,IDE或编译器会根据你给a 的值:1,来"推论,断定"a是一个整数类型. 同理: var b = "2"; 因为给b的值是"2"这样一个字符串,所以,b就是string类型...
又如:
VAR 是3.5新出的一个定义变量的类型 其实也就是弱化类型的定义 VAR可代替任何类型 编译器会根据上下文来判断你到底是想用什么类型的 至于什么情况下用到VAR 我想就是你无法确定自己将用的是什么类型 就可以使用VAR 类似 OBJECT 但是效率比OBJECT高点 使用var定义变量时有以下四个特点: 1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式: var s; s = “abcd”; 2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。 3. var要求是局部变量。 4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。
C#中var关键字【转】的更多相关文章
- C#中var关键字用法分析
原文连接 本文实例分析了C#中var关键字用法.分享给大家供大家参考.具体方法如下: C#关键字是伴随着.NET 3.5以后,伴随着匿名函数.LINQ而来, 由编译器帮我们推断具体的类型.总体来说,当 ...
- C#中 Var关键字
文章来源: 青水白凡 C#中 Var关键字 Var是C#3.5新增的一个关键字,用来代替某些具体的类型,由编译器自动判断变量类型,编译器可以根据变量的初始化值"推断"变量的类型. ...
- JavaScript中var关键字的使用详解
作用 声明作用:如声明个变量. 语法 ? 1 var c = 1; 省略var 在javascript中,若省略var关键字而直接赋值,那么这个变量为全局变量,哪怕是在function里定义的. ? ...
- c#中var关键字用法
Technorati 标签: C# 转载自csdn:http://blog.csdn.net/robingaoxb/article/details/6175533 var关键字是C# 3.0开始新 ...
- php中var关键字用法
见很多朋友说在php中定义变量用不用var都没关系,其实不然. 看看例子,如果我这样使用var: 1 var $a=123; 2 echo $a; 3 //那么程序会提示语法错误,要去掉var这个变量 ...
- java 10 中 var关键字用法
引用:https://mp.weixin.qq.com/s/n1tcJ0CywSi0j-YycGPwxg what java10引入了局部变量折断 var用于声明局部变量. 如var user=new ...
- php中的var关键字的用法总结(var在类外用报错)(类属性必须带限定词)
php中的var关键字的用法总结(var在类外用报错)(类属性必须带限定词) 一.总结 1.var在类外用报错:如果不是在类中,用var定义变量是错的. 2.类属性必须带限定词:php中类属性必须定义 ...
- JavaScript var关键字、变量的状态、异常处理、命名规范等介绍
本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...
- js中this关键字测试集锦
参考:阮一峰<javascript的this用法>及<JS中this关键字详解> this是Javascript语言的一个关键字它代表函数运行时,自动生成的一个内部对象,只能在 ...
随机推荐
- 用MFC实现OpenGL编程
一.OpenGL简介 众所周知,OpenGL原先是Silicon Graphics Incorporated(SGI公司)在他们的图形工作站上开发高质量图像的接口.但最近几年它成为一个非常优秀的开放式 ...
- unity3d银联支付出现闪退
在接入银联SDK的unity3d的游戏中,点击银联支付会出现游戏总是出现闪退现象 ,后来网上有资料说 打开银联的jar包,将里面的res/drawable目录下的文件,拷贝到您的工程的drawable ...
- 【转载】详解java类的生命周期
原文地址:http://blog.csdn.net/zhengzhb/article/details/7517213 引言 最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑, ...
- Struts2 三、指定Struts2处理的请求后缀
Action的请求通常情况下默认为以.action结尾,例如:http://localhost:9000/Struts2/hello/helloAction_sayHello.action .a ...
- node.js(八) 有趣的东西才开始哦
### Express介绍 npm提供了大量的第三方模块,其中不乏许多Web框架,比如我们本章节要讲述的一个轻量级的Web框架 ——— Express. Express是一个简洁.灵活的node.js ...
- datatable赋值行
datatable复制行:DataTable dt = ""; //这里是填充DataTable数据(""中为一个为datatable类型的值,赋值给dt)D ...
- C#扩展方法的理解 (转)
“扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.” 这是msdn上说的,也就是你可以对String,Int,DataRow,DataTable等这些 ...
- win32 控件的创建和消息响应
1. 控件的创建 控件的创建和窗口创建是一样的,例如: ,,,, hWnd,(HMENU)IDB_BUTTON01,hInst,NULL); 是一个按钮的创建,其中hWnd是窗口句柄,hInst是应用 ...
- JVM学习之Eclipse输出GC日志
Java应用启动时,可以通过设置verbose参数来输出JVM的gc情况,命令如下:-verbose:gc或者-XX:+PrintGC在Eclipse中可以通过Run As|Run Configura ...
- Eclipse开发工具学习之道:用Eclipse生成jar文件
很多人都不知道怎么在Eclipse下生成jar文件,或者生成了jar文件后又老是用不了,总是会收到 Exception in thread "main" java.lang.NoC ...