我爱Aspx >> Asp.Net >> Visual C# 3.0 新特性概览 (二)对象和collection初始化符
C# 3.0被希望来允许你包含一个初始化符,从而指定一个新创建的对象或者collection的初始值。这使得你能够一步结合声明和初始化。
举例来说,你可以这样定义CoOrdinate类:
public class CoOrdinate
{
public int x ;
public int y;
}
你然后可以使用一个对象初始化符来声明和初始化一个CoOrdinate对象,就像这样:
var myCoOrd = new CoOrdinate{ x = 0, y= 0} ;
也许你要问,为什么不要像下面这样做呢?
var myCoOrd = new CoOrdinate(0, 0) ;
注意:我从来没有为我的类声明过一个接受两个参数的构造器。事实上,使用一个对象初始化符来初始化对象等同于调用一个无参数(缺省)构造器并且给相关量赋值。
类似的,在C#3.0里你可以轻松的用一种更加简洁的方式给collection赋值,如下的C# 2.0的代码:
list<string> animals = new List<string>();
animals.Add("monkey");
animals.Add("donkey");
animals.Add("cow");
animals.Add("dog");
animals.Add("cat");
可以缩短为:
list<string> animals = new List<string> {"monkey", "donkey", "cow", "dog", "cat" } ;
Lambda表达式:匿名方法的浓咖啡
Ҷƪл˵?
Visual C# 3.0 新特性概览(一)[05-20]
C#中调用Windows API的要点[05-20]
c#收取邮件[05-20]
用Visual C#实现P2P应用程序[05-20]
用Visual C#实现局域网点对点通..[05-20]
C#下用P2P技术实现点对点聊天[05-20]
C#如何读取QQ纯真IP数据库[05-20]
C#怎样才能实现窗体最小化到托盘..[05-20]
全面剖析C#正则表达式[05-20]
C#里面全角和半角的自由转换[05-20]
Visual C# 3.0 新特性概览(一)[05-20]
利用HttpRequest登录到某个网站,..[05-20]
C#中调用Windows API的要点[05-20]
MODEM AT指令集[05-20]
玩转Modem~AT指令篇- -[05-20]
[翻译]JavaScript和Macromedia F..[05-20]
c#收取邮件[05-20]
在asp.net2.0中用WebPart代替Pla..[05-20]
Javascript 弹出新窗口并向窗口中..[05-20]
基于框架的可隐藏导航栏[05-20]