C#隐式类型局部变量经验总结

开发 后端
这里介绍C#隐式类型局部变量,既然是局部变量,那么它就只能用在方法内部了,注意C#是强类型的,引入了一个var并不是像 javascript那样,变成了一个弱类型的语言。
C#语言有很多值得学习的地方,这里我们主要介绍C#隐式类型局部变量,包括介绍C#匿名类型等方面。

C#隐式类型局部变量

还是先介绍一下C#隐式类型局部变量吧:

在C# 3.0里多了一个关键字var,他表示这样的一种类型:C#编译器可以根据上下文推断的出来比如var I = 5;编译器可以根据后面的赋值推断的出来i应该是个整型。既然是局部变量,那么它就只能用在方法内部了,注意C#是强类型的,引入了一个var并不是像 javascript那样,变成了一个弱类型的语言。在编译器***次编译后var就会被确定的类型所替代的。所以对于C#隐式类型局部变量要注意以下几点:

1.它只能存在于方法内部

2.它不是一个新的类型,只是一个关键字,或者叫做一个占位符,在C#编译器编译后它就会被确定的类型所替代

3.它是编译器根据上下文推断出来的,所以所有一切不能被编译器推断出来的用法都是错误的。比如不能这样使用:var nullValue = null;因为null啥也不是,他是一个空指针,是一个不确定的东西。也不能这样使用:var I = 5;I = “abc”;编译器根据***个赋值会推断出它是一个整型,但是随后又将一个字符串赋值给它,这是怎么回事呢?

对于var我的建议是不到逼不得已的时候不用,那什么是逼不得已呢?来看我们的匿名类型吧。

由于匿名类型在我们编写代码的时候并不存在,所以匿名类型也不能作为方法的返回值和参数了。”var”一样,也是只能在方法内部使用。现在是不是有点明白什么时候才是逼不得已使用”var”啊?就是在使用匿名类型的时候,匿名类型编译器可以推断出来,但是靠人工又无法推断了。所以我觉得只在编译器可推断而人不可推断的时候才使用C#隐式类型局部变量,靠我们人工可以推断的还是不建议使用,显式的声明变量类型可以增强代码的可读性,这是一个好的编程习惯,不要因为C# 3.0提供了这样的特性就大用而特用。

【编辑推荐】

  1. C# lock关键字叙述
  2. C#.Net FrameWork简介
  3. C# new和override简单描述
  4. C#值类型和引用类型浅谈
  5. C#标识符简单分析
责任编辑:佚名 来源: 博客园
相关推荐

2009-09-11 10:07:05

Linq隐式类型化局部

2009-08-27 10:08:36

C#隐含类型局部变量

2010-01-20 10:27:07

VB.NET隐式类型局

2009-08-26 16:37:07

C#迭代器局部变量

2009-08-13 18:13:27

C#学习经验

2009-08-11 14:20:41

C# .NET学习经验

2009-08-24 14:56:01

C#连接Access

2009-08-21 17:42:36

C#调用API

2009-09-02 14:14:44

C# COM接口转换

2009-09-01 13:10:39

C#读取Word

2009-08-27 11:21:36

C# override

2009-09-17 13:05:38

Linq局部变量类型

2009-09-01 13:00:05

C#实现Windows

2009-08-07 09:47:17

C#枚举C#数组

2009-09-18 10:21:13

C#数组C#串操作

2009-09-01 10:49:28

C#具有隐式类型声明

2009-08-27 15:45:30

C#正则表达式

2009-10-15 13:06:12

VB.NET Shar

2009-08-14 11:34:26

Mono C#编译器

2009-09-03 13:48:20

C#实现Web服务器功
点赞
收藏

51CTO技术栈公众号