为了账号安全,请及时绑定邮箱和手机立即绑定

C#中 var是个什么意思?

C#中 var是个什么意思?

C#
函数式编程 2018-07-30 13:13:42
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

var关键字是C#3.0开始新增的特性,称为推断类型(其实也就是弱化类型的定义) 。

VAR可代替任何类型,编译器会根据上下文来判断你到底是想用什么类型,类似 OBJECT,但是效率比OBJECT高点。

我们可以赋予局部变量推断“类型”var而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。

c#

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。

但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。


查看完整回答
反对 回复 2018-08-05
?
心有法竹

TA贡献1866条经验 获得超5个赞

var关键字是C#3.0开始新增的特性,称为推断类型(其实也就是弱化类型的定义) 。

VAR可代替任何类型,编译器会根据上下文来判断你到底是想用什么类型,类似 OBJECT,但是效率比OBJECT高点。

我们可以赋予局部变量推断“类型”var而不是显式类型。var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NET Framework 类库中定义的类型或任何表达式。

示例:
原先定义变量,是要这样: 数据类型 变量名 = 值;

如:
int a = 1;
string b ="2";

也就是说,"必须先明确地"指定你的变量是什么数据类型,才能给它赋值.这点很重要,要记住才好比较.

现在在C# 3.0里,有了变化,就是可以不用像上面那样定义变量了.

如:
var a =1 ;
IDE或编译器会根据你给a 的值:1,来"推论,断定"a是一个整数类型.

同理:
var b ="2";

因为给b的值是"2"这样一个字符串,所以,b就是string类型...

Ps.当你无法确定自己将用的是什么类型,就可以使用VAR
  

使用var定义变量时有以下四个特点:
  1. 必须在定义时初始化。也就是必须是var s = “abcd”形式,而不能是如下形式:
   var s;
   s = “abcd”;
  2. 一但初始化完成,就不能再给变量赋与初始化值类型不同的值了。
  3. var要求是局部变量
4. 使用var定义变量和object不同,它在效率上和使用强类型方式定义变量完全一样。

查看完整回答
反对 回复 2018-08-05
  • 2 回答
  • 0 关注
  • 981 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信