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

阅读数:11 2019 年 11 月 30 日 23:44

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

(明确赋值)

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

C#强制执行明确赋值策略。实践中这意味着在 unsafe 上下文之外无法访问未初始化的内存。明确赋值有三种含义:

  • 局部变量在读取之前必须赋值。
  • 调用方法时必须提供函数的实际参数(除非标记为可选参数,参见 2.8.4.7 节)。
  • 运行时将自动初始化其他变量(例如字段和数组元素)。

例如,以下示例将产生编译时错误:

复制代码
static void Main()
{
int x;
Console.WriteLine (x); // Compile-time error
}

字段和数组元素会自动初始化为其类型的默认值。以下代码输出 0,就是因为数组元素会隐式赋为默认值:

复制代码
static void Main()
{
int[] ints = new int[2];
Console.WriteLine (ints[0]); // 0
}

以下代码输出 0,因为字段会隐式赋值为默认值:

复制代码
class Test
{
static int x;
static void Main() { Console.WriteLine (x); } // 0
}

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

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

评论

发布