c# 4.0新特性一览

1,方法的参数可选

声明一个带有可选参数的方法

static void M1(int notOptional,string a1 = "default arg")

{

        Console.WriteLine("a1 = {0}",a1);

}

 

然后可以按下面的方法调用

static void Main(string[] args)

{

       M1(1);

       M1(2,"Having 2 arguments");

}

 

这时候如果再声明一个同名的方法,参数的类型和数目也相同,只不过没有可选参数,这时候会调用哪个方法呢,读者可以自己试验一下。

static void M1(int notOptional,string a1 )

{

        Console.WriteLine("a1 = {0}",a1);

}

2,命名参数

命名参数是指在调用方法的时候不考虑参数的顺序,只是指定参数的名字来给形参付值。

static void M1(int notOptional,string a1 )

{

        Console.WriteLine("a1 = {0}",a1);

}

 

上面的方法可以这样调用

static void Main(string[] args)

{

          M1(a1:"arg1",notOptional:1);

}

 

3.Dynamic ExpandoObject

命名空间System.Dynamic用来支持这个应用,具体用法如下:

static void Main(string[] args)

{

          dynamic t = new ExpandoObject();

          t.string1 = "string1";

          t.Value = 1000;

          Console.WriteLine("t's string1 = {1},t's value = {1}",t.string1,t.Value);

          Console.ReadLine();

}

 

4.范型自动转换

就是像下面的用法:

IEnumerable<object> objs = new List<string> {  

        " 0"," 1"," 2" 

    };  

 

 

未完待整理。。。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值