我得到了这个赋予这样一个方法的作业......
public List<Contact> GetLastContacts([int count = 20])
{
return this._entities.ContactsSet.ToList();
}
我不明白且无法找到有关[int count = 20]
作为参数...
任何人都能解释他们的意思吗?
/祝贺!
答案 0 :(得分:6)
int count = 20
将其声明为参数的默认值。它使调用者的参数可选(或者看起来对于调用者来说是可选的)。
因此,在调用它的方法中,您可以这样做:
var contacts = GetLastContacts(); // Will compile to GetLastContacts(20)
或者,使用值来覆盖默认值:
var contacts = GetLastContacts(35);
请参阅MSDN上的Named and Optional arguments。
答案 1 :(得分:3)
public List<Contact> GetLastContacts(int count = 20)
(没有[]
)表示该方法有一个名为int
的{{1}}参数,但该参数是可选的,如果调用者将其保留,只是致电count
GetLastContacts()
的默认值为count
。
C#代码中的方括号不正确,但它们可以出现在文档,工具提示等中,作为参数可选的指示。
答案 2 :(得分:0)
我想这可能是两种写“可选参数”的方法的组合。在C#中,如果使用“赋值”(如
)指定默认参数值,则可以使用可选参数定义方法public List<Contact> GetLastContacts(int count = 20)
然后你可以打电话
GetLastContacts(count)
指定计数,或
GetLastContacts()
使用默认值20.
在您的代码中使用[ ]
可能是POSIX标准化的编写可选参数的方式,因为它不受C#语言或其文档标准的支持,所以没有理由在那里。