C#中是否有可选项?VB中的“可选”在C#中相当于#
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
你将如何在C#中实现上述代码?我见过optionalstr
optionalint
但其他数据类型和自定义对象呢?
C#中是否有可选项?VB中的“可选”在C#中相当于#
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
你将如何在C#中实现上述代码?我见过optionalstr
optionalint
但其他数据类型和自定义对象呢?
你必须给该参数的默认值,并且必须在最后(最后一个参数)。
public void Test(string param1, string optional = "") {
}
把它放到上下文:
public void Notify(string company, string office = "QJZ") {
}
试试这个
void notify(string company ,string office ="QJZ"){}
public void MyMethod(string company, string office = "QJZ")
{
}
记住可选参数要来末的签名,如果你有另一个同名的方法没有使用任何可选参数,编译器会默认选择其他方法,并且不会使用可选参数1。例如,如果你也有
public void MyMethod(string company)
{
}
,你叫
MyMethod("company name");
,编译器会自动使用MyMethod(string company)
超载。
在这里经常被描述为例如:http://stackoverflow.com/questions/199761/how-can-you-use-optional-parameters-in-c – thmshd
'通知(字符串公司,字符串办公室=“QJZ “)'<='办公室'是可选的,如果你等于它的常量。 – Corak
完整参考:http://msdn.microsoft.com/en-us/library/dd264739.aspx – thmshd