代码改变世界

C#3.0新特性小结(1)

  chenkai  阅读(2831)  评论(8编辑  收藏  举报

安装了VS2008后在园子上看到关于LinQ和SilverLight一些技术的讨论,其中涉及到c#3.0的新特性。晚上回来做了一个小实例感觉新特性还不错,更加人性化。

 

园子里也有不少人关于这方面的介绍文章,今天加以小结作为备忘,也为学习LinQ和SilverLight做点基础。

VS2008开发支持在。NET3.0框架上,总体而言是从。NET2.0框架基础上添加了一些新特性。当然.NET2.0中核心不会发生变化。C#3.0在此基础上进行一定改进,方便我们编写程序,并把主要的精力放在业务逻辑的实现上,减少重复工作,例如新特性中自动属性把字段的封装更加集成化了,把更多的重复工作交给了编译器来做,首先介绍下.NET框架版本的更新:

复制代码
--.NET版本的更新次序

.NET框架:    .NET1.
0     .NET2.0     .NET3.0/3.5

C#语言版本:   C#
1.0       C#2.0       C#3.0

VS开发平台:   VS2003      VS2005       VS2008
复制代码

现在VS2005仍然是目前主流开发平台,但随着VS2008和.NET3.0/3.5发布,开发平台渐渐从VS2005向VS2008开始过渡,目前已经在行业中形成一种趋势,在招聘信息我经常看到关于这方面要求:熟悉C#3.0新特性和熟练操作VS2008等等。从自身角度而言为了长远发展有必要掌握新特性.废话少说。来看看主要有那些新特性:

C#3.0中新特性

总共出现6中新特性。在如下系列文章中我会逐个介绍他们特点和使用方法:首先介绍自动属性

自动属性

在.NET2.0我们在编辑一个实体类时常需要定义属性:属性是对私有字段一种封装,C#不提倡将域的保护级别设为public而使用户在类外任意操作--那样太不OO,或者具体点说太不安全,对所有有必要在类外可见的域,C#2.0推荐采用属性来表达封装.

复制代码

--C#2.0中属性
public class Company
{
    
private string companyName;
    
    
public string CompanyName
    {
      
get { return CompanyName; }
      
set { CompanyName= value; }
    }
}
复制代码

在C#2.0中我们在定义实体时尽量将公开的字段定义为属性,但是随之而来的编写代码的繁杂。正好可以用到C#3.0自动解决这一问题。避免原来这样我们手工声明一个私有成员变量以及编写get/set逻辑这种重复工作。把它交给编译器。编译器会自动地生成私有变量和默认的get/set 操作。你也可以分别定义get和set的“protected”等访问级别。上面代码就可以简化成这样:

Code

编译器会自动创建一个私有字段,并让获取访问器Geter和设置访问器Seter指向这个私有字段,用于用户引用操作,自动属性很大程度上简化代码编写繁琐,这样做我们能有更多精力放在业务逻辑的实现上。下一节讲对自动属性做一定实例的补充并进一步介绍其他新特性。

 

 

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
无觅相关文章插件,快速提升流量
点击右上角即可分享
微信分享提示