有没有办法让函数使用它的可选参数的值?例如,假设我有,
public void myFunction(bool required, string optional = "This is optional") {...}
我想做这样的事情,
string possiblyNull = null; // the result of another function
myFunction(true, possiblyNull ?? possiblyNull : optional)
发布于 2019-04-17 03:06:21
您不能在调用点获取默认值。您需要在方法调用之外进行检查。
string possiblyNull = null;
// ...
if (possiblyNull == null)
myFunction(true);
else
myFunction(true, possiblyNull);
发布于 2019-04-17 03:29:06
您已经做到了,但是您只需要删除possiblyNull:当您将参数传递给该方法时,您可以这样做……
public partial class MainWindow : Window
{
private string optional = "Test";
string possiblyNull = null;
public MainWindow()
{
InitializeComponent();
// here you can check null
myFunction(true, possiblyNull ?? optional);
// Or
myFunction(true);
}
public void myFunction(bool required, string optional = "This is optional")
{
MessageBox.Show(optional);
}
}
https://stackoverflow.com/questions/55715003
复制相似问题