ASP.NET 3.5(C#)系列2-C# 3.0语言新功能介绍

C#3.0支持了许多新功能,这让一些常用语法在定义的时候更加精简方便,同时有些新功能的推出是为了配合LINQ查询技术。以下是C#3.0的8大新功能,包括:

  • 隐式类型区域变量及数组声明
  • 对象初始化设置
  • 集合初始化设置
  • 匿名类型
  • Lambda表达式
  • 扩展方法
  • 自动属性实现
  • 部分方法定义

1.隐式类型区域变量及数组声明。

C#3.0推出了一种新的var声明语法,叫做隐式声明,就像传统的Javascript以var声明变量一样。

 

var age=20 //声明年龄为30,为number数值类型

var name="Mark" //声明名字为Mark,为string字符串类型

 

var类型的出现,是为了配合在声明LINQ或匿名类型语法时,并无法事先知道类型,或者知道了也没用,var所声明的变量或对象,必须跟随LINQ或匿名类型语法声明而动态变换类型。

 

1.1隐式声明变量。

   例1:

protected void Page_Load(Object sender, EventArgs e)

{

var a = 10;

var b = 5;

var c = a + b;

Response.Write(c);

}

执行的结果是15,说明正确执行。但不可在1.0或者2.0的环境中使用。


1.2隐式声明数组。

//传统声明

int[] arrayInt = new int[5] { 100, 200, 300, 400, 500 };

string[] arrayStr = new string[4] { "May", "Bob", "John", "Mark" };

 

//隐式声明

var ImplicitlyArrayInt = new[] { 100, 200, 300, 400, 500 };

var ImplicitlyArrayStr = new[] { "May", "Bob", "John", "Mark" };


   例2:

 

2.对象初始化设置。

2.1 类对象初始化

在对象初始化中,需要定义构造函数才可以进行带参数的初始化。而如果遇到多个属性,就要建立多个初始化函数(重载)。可是这样一来,反倒成了累赘。于是C#3.0就有了新的初始化机制。

比如现在定义了一个person类。

 

 那么我在初始化的时候,并不用特意创建构造函数。

 

从而省去了繁琐的创建构造函数机制,可使对象在初始化时直接定义属性。

2.2 List集合

 

 

3.自动属性的实现

倘若在属性中没有逻辑判断,那么可以用自动属性的实现来代替传统C#2.0的声明。

 

如果属性中有逻辑判断,无法用自动属性来代替。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值