C#语法 - 变量名后的冒号

时间:2010-07-19 18:13:59

标签: c# syntax .net-4.0

快速提问;我最近升级到VS2010,并获得了新版本的ReSharper。

现在,当ReSharper为我提供变量的自动填充选项时,它为我提供了< variableName >选项:

代表什么?

例如;我有这个:

var productIds = new List<int>(inventoryItemsToProcess.Keys);

当我开始输入这样的一行时:

var lastOrderDates = GetProductLastOrderDates(pro

它为我提供了productIds以及productIds:

的选项

两者之间有什么区别?

2 个答案:

答案 0 :(得分:43)

第二个是C#4.0 named arguments。这是一个link on MSDN

答案 1 :(得分:39)

必须使用冒号来表示参数。在C#4.0中,您可以选择重新排序和命名参数,但变量名必须与原型匹配并且具有冒号后缀。

public void Test(string something1, string something2)
{
}

可以被称为:

Test(something2: "bar", something1: "foo");

如果你想要