匿名数组 c语言,C#C++C语言学会编程第16课隐型变量、初始化器、匿名类型和隐型数组.docx...

第16课隐型变量、初始化器、匿名类型和隐型数组

隐型局部变量是使用var关键字声明的一种隐藏类型的局部 变量。初始化器包括对象初始化器和集合初始化器,它们 分别用来初始化对象和集合。使用new运算符和匿名对象 初始化器可以创建一个匿名类型的对象;使用var关键字 和匿名数组初始化器可以创建一个隐型数组。本章将讲解 C#语言中的隐型局部变量、对象初始化器、集合初始化 器、匿名类型和隐型数组,主要介绍以下知识点。

?声明隐型局部变量;

?使用隐型局部变量;

?对象初始化器;

?集合初始化器;

?匿名类型;

?隐型数组。

16.1隐型局部变量

顾名思义,隐型(implicitly typed)局部变量是一个局部变 量,而且它的类型被隐藏了。在隐型局部变量声明中,正 被声明的局部变量的类型可以从初始化该变量的表达式推 导出来。

16.1.1声明隐型局部变量

声明隐型局部变量需要使用var关键字,并使用var关键字作 为变量的类型。在声明隐型局部变量时,不明确指定该变 量的类型,而是使用var关键字指定变量的类型。该变量 的实际类型将在其初始化表达式中推导出来。

16.1.2使用隐型局部变量

使用隐型局部变量可以不显式指定变量的类型,从而简化了 程序代码。然而,如果大量使用隐型局部变量,往往可能 造成程序代码难以理解和阅读。因此,只有在适当的时候 使用隐型局部变量,才是一个比较好的选择。隐型局部变 量比较适合以下4种场景。

1.声明隐型局部变量 2.for语句中 3.foreach语句中 4.using语句中

16.2对象初始化器

对象初始化器(object initializer)又称为对象初始值设定项

,它可以为某个对象的零个或多个字段或属性指定值。即 对象初始化器不显式调用该对象类型的构造函数,就能够 创建该对象类型的实例。

对象初始化器包含一组成员初始值设定项。这一组设定项由 “{”和“}”包围,各个设定项之间用,(逗号)分隔。每一个 成员初始值设定项都为一个赋值表达式,表达式的左边为 成员的名称,表达式的右边是一个可计算的表达式。“ID

= 1”表达式就是一个成员初始值设定项,“{ID = 1,Name = "Zhangsan"}”表达式就是一组设定项。

16.3集合初始化器

集合初始化器(collection initializer)又称为集合初始值设 定项,它可以用来设置集合中的元素。集合初始化器包含 一组元素初始值设定项。这一组设定项由“{”和“}”包围, 各个设定项之间用,(逗号)分隔。每一个元素初始值设 定项指定一个元素,“{1,2,3,4,5,6,7,8,9}”表达式就是一组 元素初始值设定项。

16.4匿名类型

顾名思义,匿名类型是一种隐藏了类型名称的类型,它由 new运算符和匿名对象初始化器共同实现。即使用new运 算符和匿名对象初始化器可以创建一个新的对象,这个新 创建的对象就是一个匿名类型的对象。其中,把new运算 符和匿名对象初始化器组成的表达式又称为匿名对象创建 表达式。

16.5隐型数组

隐型数组和匿名类型比较相似。和匿名类型的匿名对象初始 化器一样,匿名数组也存在一个匿名数组初始化器。匿名 对象初始化器一般用于创建一个匿名类型的对象,匿名数 组初始化器用来创建一个匿名数组。

匿名数组由var关键字和匿名数组初始化器共同创建,而且 匿名数组初始化器中的元素类型都必须能够隐式转换为同 一个类型(不能为null)。即对于匿名数组初始化器而言

,会存在一种类型(不能为null),使得该匿名数组初始

化器中所有元素都能够转换为该类型的元素。

16.6实例一:在foreach语句中使用隐型局部 变量

【实例16-1】在foreach语句中使用隐型局部变量遍历元素类型 为string的数组中的每一个元素。该功能由VarForeach()静 态方法实现。

16.7小结

本章主要介绍了C#语言中的隐型变量、初始化器、匿名类型 和隐型数组,如声明隐型局部变量、使用隐型局部变量、 对象初始化器、集合初始化器、匿名类型、隐型数组等。 其中,读者要着重掌握声明隐型局部变量和使用隐型局部 变量,为后续编写C#程序代码奠定基础。下一章将要介 绍C#语言中的迭代器、匿名方法和扩展方法。

16.8习题

在Visual Studio 2008集成开发环境中创建名称为“Test_16”

的控制台应用程序,并实现以下功能。

(1)将名称为“class1.cs”的文件添加到该应用程序中。

(2)在该应用程序中使用隐型数组计算0~100(共101个整 数)的和。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值