C# 7.0 核心技术指南 (41):C#语言基础 2.8.7

阅读数:7 2019 年 12 月 4 日 17:11

C# 7.0核心技术指南(41):C#语言基础 2.8.7

(var 隐式类型局部变量)

内容简介
本书前三章将集中介绍 C#语言。首先介绍基本的语法、类型和变量。而后会介绍一些高级的特性,如不安全代码以及预处理指令。如果你是 C#语言的初学者,请循序渐进地阅读这些章节。
其余各章则涵盖了.NET Framework 的核心功能,包括 LINQ、XML、集合、并发、I/O 和网络、内存管理、反射、动态编程、特性、安全、应用程序域和原生互操作性等主题。第 6 章和第 7 章是后续主题的基础,除这两章之外,其余各章可以按照需要以任何顺序阅读。LINQ 相关的三个章节好按顺序阅读。其中的一些章节需要一些并发相关的知识,这些知识将在第 14 章中介绍。

我们通常会在一步中完成变量的声明和初始化。如果编译器能够从初始化表达式中推断出变量的类型,就能够使用 var 关键字(C# 3.0 引入)来代替类型声明,例如:

复制代码
var x = "hello";
var y = new System.Text.StringBuilder();
var z = (float)Math.PI;

它们完全等价于:

复制代码
string x = "hello";
System.Text.StringBuilder y = new System.Text.StringBuilder();
float z = (float)Math.PI;

因为是完全等价的,所以隐式类型变量仍是静态类型的。例如,下面的代码将产生编译时错误:

复制代码
var x = 5;
x = "hello"; // Compile-time error; x is of type int

当无法直接从变量声明语句中看出变量类型的时候,var 关键字将降低代码的可读性。例如:

复制代码
Random r = new Random();
var x = r.Next();

变量 x 的类型是什么呢?

在 4.9 节我们将介绍必须使用 var 的情况。

C# 7.0核心技术指南(41):C#语言基础 2.8.7

购书地址 https://item.jd.com/12681788.html?dist=jd

评论

发布