首页 / 软件开发 / C# / 精进不休 .NET 4.0 (4)
精进不休 .NET 4.0 (4)2012-05-30 博客园 webabcdC# 4.0 新特性之命名参数和可选参数, 动态绑定(dynamic), 泛型协变和逆变, CountdownEvent, Barrier介绍C# 4.0 的新特性* Named And Optional Arguments - 命名参数和可选参数* Dynamic Binding - 动态绑定(dynamic 用于动态编程,其依赖于Dynamic Language Runtime)* Covariance - 泛型的协变* Contravariance - 泛型的逆变* CountdownEvent - 线程、任务同步类。线程或任务一直阻塞到 CountdownEvent 的计数为 0 为止* Barrier - 线程、任务同步类。其用来同步一个线程组或任务组中所有的线程或任务,先到达的线程或任务在此阻塞示例1、命名参数和可选参数的 DemoNamedAndOptionalArguments.aspx.cs代码/*
* 命名参数和可选参数
* 命名参数:调用方法时,可以不按位置传递参数,而是指定参数的命名来传值
* 可选参数:声明方法中的参数时,可以为其设置默认值,那么在调用该方法时,这种可选参数是可以忽略的
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace CSharp
{
public partial class NamedAndOptionalArguments : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Write("hello");
Write("hello", "webabcd");
Write("hello", p3: false, p2: "webabcd");
}
private void Write(string p1, string p2 = "p2", bool p3 = true)
{
Response.Write(string.Format("p1:{0}; p2:{1}; p3:{2}", p1, p2, p3.ToString()));
Response.Write("<br />");
}
}
}
/*
运行结果:
p1:hello; p2:p2; p3:True
p1:hello; p2:webabcd; p3:True
p1:hello; p2:webabcd; p3:False
*/