这里介绍C# 3.0新语言特性中的自动属性,C# 3.0新语言特性在.NET2.0基础上进行了改进,这些改进的功能可以大大简化我们编写程序。
C# 3.0有许多值得学习的当地,这儿咱们首要介绍C# 3.0新言语特性,包含介绍主动特点等方面。
Visual Studio 2008和.NET 3.5是建立在.NET2.0中心的根底之上,.NET2.0中心自身将不再改变(假如不了解.NET2.0的朋友,请参看MSDN或许一些经典的书本),C# 3.0新言语特性在.NET2.0根底上进行了改善,这些改善的功用能够大大简化咱们编写程序。关于C# 3.0新言语特性在博客园里的许多朋友都介绍了,我在这儿简略介绍一下,记载自己所学的东西,也为后边的LINQ打下根底。
C# 3.0新言语特性和改善包含:
◆主动特点(Auto-Implemented Properties)
◆隐含类型局部变量(Local Variable Type Inference)
◆匿名类型(Anonymous Types)
◆目标与调集初始化器(Object and Collection Initializers)
◆扩展办法(Extension Methods)
◆Lambda表达式和Lambda表达式树 (Lambda Expression and Lambda Expression Trees)
C#主动特点能够防止本来这样咱们手艺声明一个私有成员变量以及编写get/set逻辑,在VS2008中能够像下面这样编写一个类,编译器会主动地生成私有变量和默许的get/set 操作。你也能够别离界说get和set的“protected”等拜访等级。
在.Net2.0框架下,咱们能够这样写一个User类:
- publicclassUser
- {
- privateint_id;
- privatestring_name;
- privateint_age;
- publicintId
- {
- get{return_id;}
- set{_id=value;}
- }
- publicstringName
- {
- get{return_name;}
- set{_name=value;}
- }
- publicintAge
- {
- get{return_age;}
- set{_age=value;}
- }
- }
现在,能够这样简化:
- publicclassUser
- {
- publicintId{get;set;}
- publicstringName{get;set;}
- publicintAge{get;set;}
- }
像上面这样的空的get/set特点的话,它会主动为你在类中生成一个私有成员变量,对这个变量完成一个揭露的getter 和setter。咱们能够运用.NET开发环境所供给的ildasm.exe(IL代码反汇编器)东西来剖析程序集或许模块的内容。
【修改引荐】
- C#参差数组初始化概述
- C#数组初始化全面剖析
- C#一维数组和多维数组浅谈
- C#参差数组初始化概述
- C#动态数组实例介绍
知优网 » C# 3.0新言语特性浅析(c# 新语法)