c#中var关键字用法浅谈
时间:2022-03-14 00:21:51
VAR 是3.5新出的一个定义变量的类型
其实也就是弱化类型的定义
VAR可代替任何类型
编译器会根据上下文来判断你到底是想用什么类型的
至于什么情况下用到VAR 我想就是你无法确定自己将用的是什么类型
就可以使用VAR 类似 OBJECT
但是效率比OBJECT高点
使用var定义变量时有以下四个特点:
1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式:
var s;
s = “abcd”;
2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
3. var要求是局部变量。
4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。
var关键字是C# 3.5开始新增的特性,称为推断类型 .
可以赋予局部变量推断“类型”var 而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。
上面的资料有点抽象不好理解.
示例:
原来我们定义变量,是要这样:
数据类型 变量名 = 值;
如:
int a = 1;
string b = "2";
也就是说,"必须先明确地"指定你的变量是什么数据类型,才能给它赋值.这点很重要,要记住才好比较.
现在在C# 3.5里,有了变化,就是可以不用像上面那样定义变量了.
如:
var a =1 ;
那这个a,是什么类型呢?和原来的做法不一样了.
奥妙就在这里,IDE或编译器会根据你给a 的值:1,来"推论,断定"a是一个整数类型.
同理:
var b = "2";
因为给b的值是"2"这样一个字符串,所以,b就是string类型...
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
springboot实现返回文件流
浅谈spring security入门
![](https://img.aspxhome.com/file/2023/2/63782_0s.png)
java中实现分页的几种常见方式总结
![](https://img.aspxhome.com/file/2023/8/90978_0s.jpg)
Java实现读取163邮箱,qq邮箱的邮件内容
![](https://img.aspxhome.com/file/2023/9/63159_0s.png)
MAC配置java+jmeter环境变量过程解析
![](https://img.aspxhome.com/file/2023/0/81200_0s.png)
Java中五种不同方法的创建对象
Java SpringSecurity+JWT实现登录认证
Java超详细讲解排序二叉树
Java ArrayList.toArray(T[]) 方法的参数类型是 T 而不是 E的原因分析
5种Android数据存储方式汇总
SpringBoot JS-SDK自定义微信分享的实现
![](https://img.aspxhome.com/file/2023/6/59256_0s.jpg)
Java单例模式的几种常见写法
Android运用onTouchEvent自定义滑动布局
![](https://img.aspxhome.com/file/2023/0/97880_0s.gif)
C#开发Windows服务实例之实现禁止QQ运行
![](https://img.aspxhome.com/file/2023/6/83296_0s.jpg)
java Long类型转为String类型的两种方式及区别说明
Android WorkManager使用以及源码分析
![](https://img.aspxhome.com/file/2023/4/89554_0s.jpg)
C# winform程序读取文本中的值实例讲解
![](https://img.aspxhome.com/file/2023/8/92928_0s.png)