两种参数'用法之间的区别?

时间:2011-08-12 03:00:35

标签: .net parameters

我已经进入了一个项目(提前编写),该项目对我以前从未见过的参数有一些不同的用法。所以我想了解这两者之间有什么区别?

public string Login(string Email, string Password)
{
    Member member = MemberProvider.Instance.Login(Email: Email, Password: Password);
    // more implementation

}

VS

public string Login(string Email, string Password)
{
    Member member = MemberProvider.Instance.Login(Email, Password);
    // more implementation

}

提前致谢,

3 个答案:

答案 0 :(得分:2)

第一种用法是使用named arguments,而第二种用法是使用普通的“将参数放在参数列表中的正确位置”用法。

前一种风格意味着您可以按自己喜欢的任何顺序放置参数,因此您不必记住(或关心)函数签名实际具有的顺序。您将每个参数与参数名称相关联,并且该函数正确接收参数。

但这两种风格完全相同。前者是C#4增加的便利。

答案 1 :(得分:2)

功能上没什么。它们被命名为参数。

http://msdn.microsoft.com/en-us/library/dd264739.aspx

答案 2 :(得分:1)

这些陈述是等同的。第一个语句使用named parameters。来自文档:

  

命名参数使您可以为特定参数指定参数   参数通过将参数与参数的名称相关联而非   而不是参数列表中参数的位置。