[计算机软件及应用]c语言基础day

[计算机软件及应用]c语言基础day

ID:36322160

大小:725.50 KB

页数:55页

时间:2019-05-09

[计算机软件及应用]c语言基础day_第1页
[计算机软件及应用]c语言基础day_第2页
[计算机软件及应用]c语言基础day_第3页
[计算机软件及应用]c语言基础day_第4页
[计算机软件及应用]c语言基础day_第5页
资源描述:

《[计算机软件及应用]c语言基础day》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C#课程课程回顾掌握一维数组的定义与使用掌握常用集合的定义与使用理解异常处理的概念;掌握基本的异常处理语法;掌握异常的抛出和捕获;掌握try…catch…finally结构;掌握System.Exception类的使用。课程目标掌握C#3.0新增语言功能隐式类型的本地变量和数组对象初始值设定项集合初始值设定项扩展方法匿名类型Lambda表达式查询关键字自动实现的属性分部方法定义课程目标理解委托掌握委托的定义与应用掌握匿名方法的应用掌握Lambda的基本应用掌握事件应用C#3.0中新增的语言特性概述C#3.0语言和编译器引入了多种新的语言功能。这些新的语言构造可以分别

2、用在各种上下文中,并且可以共同完成语言集成查询(LINQ)。C#3.0中新增的语言特性隐式类型的局部变量可以赋予局部变量推断“类型”var而不是显式类型。var关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NETFramework类库中定义的类型或任何表达式。C#3.0中新增的语言特性隐式类型的局部变量下面的示例演示了使用var声明局部变量的各种方式:vari=5;vars="Hello";vara=new[]{0,1,2};需要了解的一点是,var关键字并不意味着“变体”,也不表示该变量是松散类型化变量

3、或后期绑定变量。它只是表示由编译器确定和分配最适当的类型。C#3.0中新增的语言特性隐式类型的局部变量在很多情况下,var是可选的,它只是提供了语法上的便利。但在使用匿名类型初始化变量时,需要使用它。这在LINQ查询表达式中很常见。由于只有编译器知道匿名类型的名称,因此必须在源代码中使用var。如果已经使用var初始化了查询变量,则还必须使用var作为对查询变量进行循环访问的foreach语句中迭代变量的类型。C#3.0中新增的语言特性隐式类型的局部变量下列限制适用于隐式类型的变量声明:只有在同一语句中声明和初始化局部变量时,才能使用var;不能将该变量初始化为nu

4、ll。不能将var用于类范围的域。由var声明的变量不能用在初始化表达式中。换句话说,varv=v++;会产生编译时错误。不能在同一语句中初始化多个隐式类型的变量。如果一个名为var的类型位于范围中,则当您尝试用var关键字初始化局部变量时,将收到编译时错误。C#3.0中新增的语言特性对象和集合初始值设定项使用对象初始值设定项可以在创建对象时向对象的任何可访问的字段或属性分配值,而无需显式调用构造函数。下面的示例演示如何将对象初始值设定项用于命名类型。请注意,在Test类中使用了自动实现的属性。C#3.0中新增的语言特性privateclassCat{//Auto-

5、implementedpropertiespublicintAge{get;set;}publicstringName{get;set;}}staticvoidMethodA(){//ObjectinitializerCatcat=newCat{Age=10,Name="Sylvester"};}C#3.0中新增的语言特性对象和集合初始值设定项将对象初始值设定项用于匿名类型尽管对象初始值设定项可以用在任何上下文中,但它们在LINQ查询表达式中尤其有用。查询表达式经常使用匿名类型,而这些类型只能使用对象初始值设定项进行初始化。在select子句中,查询表达式可以将原始

6、序列的对象转换为可能具有不同的值和形式的对象。C#3.0中新增的语言特性如果您只想存储某个序列中每个对象的部分信息,这会非常有用。在下面的示例中,假定某个产品对象(p)包含很多字段和方法,而您只想创建包含产品名称和单价的对象序列。varproductInfos=frompinproductsselectnew{p.ProductName,p.UnitPrice};C#3.0中新增的语言特性对象和集合初始值设定项集合初始值设定项使用集合初始值设定项可以在初始化一个实现了IEnumerable的集合类时指定一个或多个元素初始值设定项。元素初始值设定项可以是简单的值,也可

7、以是表达式或对象初始值设定项。通过使用集合初始值设定项,您将无需在源代码中指定多个对该类的Add方法的调用;编译器会添加这些调用。C#3.0中新增的语言特性下面的示例演示了两个简单的集合初始值设定项:Listdigits=newList{0,1,2,3,4,5,6,7,8,9};Listdigits2=newList{0+1,12%3,MakeInt()};C#3.0中新增的语言特性扩展方法扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。