文章目录

  • 一、C# 中的var关键字
  • 二、使用var定义变量的特点
  • 三、示例讲解

一、C# 中的var关键字

var是3.5新出的一个定义变量的类型,其实也就是弱化类型的定义,var可代替任何类型,编译器会根据上下文来判断你到底是想用什么类型的,至于什么情况下用到var,我想就是你无法确定自己将用的是什么类型,就可以使用var,类似object但是效率比object高点。

举个例子:假如我们现在要遍历一个数组,此时我们并不知道数组中存储的数据类型是什么,那么此时,我们使用var关键字,就很合适了。

或者通俗的讲:var可以理解为匿名类型,我们可以认为它是一个声明变量的占位符。它主要用于在声明变量时,无法确定数据类型时使用。

二、使用var定义变量的特点

  1. 在定义变量的时候,必须先给值,不能为null,也不能只定义不给值。也就是说必须是var s = “abcd”;的形式,而不能是如下形式: var s; s = “abcd”;
  2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
  3. var要求是局部变量,无法使用var来定义一个全局变量,只能定义在方法的内部(因为预先不可知,所以预先不可置)。
  4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。
  5. 不能用来定义函数的签名,包括返回值,参数类别。

三、示例讲解

1、代码

var name = "张三";
var age = 23;
var sex = true;
//获取变量的数据类型
Type t_Name = name.GetType();
Type t_Age = age.GetType();
Type t_Sex = sex.GetType();
//打印结果
Console.WriteLine("变量name的类型是{0},变量age的类型是{1},变量sex的类型是{2}", t_Name.ToString(),t_Age.ToString(),t_Sex.ToString());
//不自动关闭控制台,等待输入
Console.ReadLine();

2、执行效果

深入理解C#中var关键字的用法相关推荐

  1. escape mysql_MySQL中ESCAPE关键字的用法详解

    MySQL转义 转义即表示转义字符原来的语义,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义. MySQL中,转义字符以"" ...

  2. C#.NET验证码智能识别学习笔记---02-C#.Net中Using关键字的用法

    C#.NET验证码智能识别学习笔记---02-C#.Net中Using关键字的用法 技术qq交流群:JavaDream:251572072  教程下载,在线交流:it.yunsit.cn ------ ...

  3. MySQL中ESCAPE关键字的用法详解

    MySQL中ESCAPE关键字的用法详解 MySQL中ESCAPE关键字的用法详解 1. mysql转义概述 2. escape验证 MySQL中ESCAPE关键字的用法详解 1. mysql转义概述 ...

  4. python的上下文管理用哪个关键字_正确理解python中的关键字“with”与上下文管理器...

    正确理解python中的关键字"with"与上下文管理器 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  正确理解python中的关键字&quo ...

  5. mysql escape关键字_MySQL中ESCAPE关键字的用法详解

    MySQL转义 转义即表示转义字符原来的语义,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义. MySQL中,转义字符以"\" ...

  6. C#中var关键字 //作者:courageously

    转自:http://blog.csdn.net/courageously/article/details/5695626 var关键字是C# 3.0开始新增的特性,称为推断类型 . 可以赋予局部变量推 ...

  7. java编程里的values怎么使用,详解Java编程中super关键字的用法

    这篇文章主要介绍了Java编程中this与super关键字的用法,包括从内存结构方面分析super的作用域,需要的朋友可以参考下 通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程 ...

  8. C++中virtual关键字的用法

    关于virtual关键字的用法总结如下,有错误或者总结不到位的情况请能帮本人指出,非常感谢! Virtual是C++ OO机制中很重要的一个关键字.只要是学过C++的人都知道在类Base中加了Virt ...

  9. JavaScript中var关键字的使用详解

    作用声明作用:如声明个变量. 语法 ? 1 var c = 1; 省略var在javascript中,若省略var关键字而直接赋值,那么这个变量为全局变量,哪怕是在function里定义的. ? 1 ...

最新文章

  1. NLP模型BERT和经典数据集!
  2. win10+ubuntu14.04双系统硬盘安装教程
  3. php list 转tree,PHP 数组转树形结构
  4. salt return mysql_mysql中储存salt返回结果
  5. 关于在ubuntu下配置AMD显卡驱动的总结
  6. Jsoup使用选择器语法来查找元素
  7. 车载语音最新黑科技 除了辨“音”还会识“相”
  8. DOM方式操作元素属性
  9. GM8827C 多通道LVDS 串行发送器,27位CMOS/TTL信号转化为多路LVDS信号
  10. 【Java 后端接收前端的富文本数据,其中标签样式数据丢失解决】
  11. Tyrion中文文档(含示例源码)
  12. 贵阳中天会展城A10大平层350平米户型装修设计效果图
  13. ManualResetEvent 说明
  14. thinkphp使用阿里大鱼短信接口
  15. K.田园的饭可好吃了
  16. 什么是大数据?什么是物联网?
  17. 知乎热榜:计算机专业的学生要怎样做才能避免成为低级的码农?
  18. C++对象模型的那些事儿之五:NRV优化和初始化列表
  19. ElementUI中form表单组件自定义手机号验证规则
  20. 高级java开发_我最喜欢的Java高级开发人员在线资源

热门文章

  1. 游戏开发 unity3d python_游戏研发系列 Unity3D/2D游戏开发从0到1 第2版.pdf
  2. 情人节,教大家使用CSS画出一朵玫瑰花。
  3. 开源的GNSS软件接收机工程汇总
  4. 《神经网络与深度学习》nndl读书笔记
  5. Opencv中flip函数讲解
  6. day26-爬虫-scrapy框架初识
  7. 冬登高峰山,问禅铁瓦寺
  8. 「wps教程」Word里的大神器隐藏技能
  9. 桌面增加了IE图标无法删除
  10. android sdk manager下载后怎么安装,【转载】一个不错的介绍配置Android SDK Manager安装的教程与注意事项...