1.隐含类型局部变量
vari=5;
varh=23.56;
vars=“CSharp";
varintArr=new[]{1,2,3,4};
vara=new[]{1,10,100,1000};//int[]
•var为关键字,可以根据后面的初始化语句自动推断类型。
•初始化语句必须为表达式,且编译时可以推断类型。
•var声明的仅限于局部变量,亦可以用于foreach,using等语句中。
•数组也可以作为隐含类型。
2.扩展方法
usingSystem;
publicstaticclassTest
{
staticvoidMain()
{
strings="Hello,World";
s.Foo(); //=Test.Foo(s).Foo();
}
publicstaticvoidFoo(thisstrings)//扩展方法;静态类中只能有静态方法;
{
Console.WriteLine(s);
}
}
扩展方法允许我们在不改变源代码的情况下扩展(即添加)现有类型中的实例方法。
扩展方法要点
•扩展方法的本质为将实例方法调用在编译期改变为静态类中的静态方法调用。
•注意扩展方法的优先级:现有实例方法优先级最高,其次为最近的namespace下的静态类的静态方法,最后为较远的namespace下的静态类的静态方法。
•扩展方法是一种编译时技术,注意与反射等运行时技术进行区别,并慎重使用。
3.对象与集合初始化器
publicclassPoint
{
intx,y;
publicintX{get{returnx;}set{x=value;}}
publicintY{get{returny;}set{y=value;}}
}
vara=newPoint{X=0,Y=1};
相当于:vara=newPoint();a.X=0;a.Y=1;
集合初始化器:
Listnum=newList{0,1,2,6,7,8,9};
对象与集合初始化器要点
•对象初始化器实际上利用了编译器对对象中对外可见的字段和属性进行按序赋值。
•集合初始化器会对初始化器中的元素进行按序调用ICollection.Add(T)。
•注意对象初始化器和集合初始化器中成员的可见性和调用顺序。
•对象与集合初始化器同样是一种编译时技术。
4.匿名类型
usingSystem;
publicclassTest
{
staticvoidMain()
{
//匿名类型;
varp1=new{Name="Lawnmower",Price=495.00};
varp2=new{Name="Shovel",Price=26.95};
Console.WriteLine(p2.Name);
}
}
•可以使用new关键字调用匿名初始化器创建一个匿名类型的对象。
•匿名类型直接继承自System.Object。
•匿名类型的成员是编译器根据初始化器推断而来的一些读写属性。
<!--EndFragment-->
分享到:
相关推荐
C# 3.0 3.5 新特性 总结 最新在网上好不容易搜集的资料。
介绍C# 3.0新语言特性和改进内容,帮助开发人员更了解VS2008中的C#语言
c# 3.0 新特性(en)
C#3.0,在短短几年中,微软就对C#进行了两次大的升级,为C#加入了许多新的特性,从而使C#变得更加强大也更加现代了
VS2008下c#3.0新特性之var源码
相信能给大家一个崭新的认识,深刻的学习c#语言。
C# 3.0新语言特性在.NET2.0基础上进行了改进,这些改进的功能可以大大简化我们编写程序。
学习设计模式的好书。 本书为那些充满奥秘的设计模式提供了有效的C#3.0实现。” 如果想加速.NET应用程序的开发,你...本书条理清晰地介绍了经典的面向对象设计模式,并解释了怎样运用最新的C#3.0语言特性来编写它们。
文档全面介绍了C#3.0的语言特性。以及和2.0的不同和更新的结构 内容。和大家分享。
C#3.0在此基础上进行一定改进,方便我们编写程序,并把主要的精力放在业务逻辑的实现上,减少重复工作,例如新特性中自动属性把字段的封装更加集成化了,把更多的重复工作交给了编译器来做,首先介绍下.NET框架版本...
视频_c#3.0,VB9.0 新特性介绍
本文档介绍了C#3.0的新特性以及这些新特性与LINQ的关系。内容为英文
C# 3.0 入门系列 主要介绍C#3.0新增特性dlinq的学习
vs2008视频教程 vs2008视频教程
这是微软提供的最新的C# 3.0例子,其中囊括了C#3.0的新特性,及LINQ的使用。对学习C#3.0的朋友们很有参考价值,值得下载!
webcast关于C#3.0新特性的视频教程及相应的PDF,包括 Linq ,Lambda 等新技术
先依次介绍一下C# 3.0新语言特性和改进,然后从一条一条LINQ语句分析来贯穿LINQ的知识点。最后通过一个实例程序实战Linq to sql带来全新的编程体验。
Visual Studio 2008开发新特性系列课程(2):C#3.0与VB9.0的新特性介绍
C#3.0(C#Orcas——魔鬼)在C#2.0的基础上引入了很多语言扩展,用以支持高级别的函数式风格类库的创建和使用。这些扩展使得结构性API构造具有与其他领域(如关系数据库和XML)中查询语言同等的表达能力。这些扩展...