我想要像tkis"int?"这样的东西.但是对于字符串.你知道如果我不给参数数据我就不会有错误.我需要一些关于这个问题的想法.
Example(4);
public void Example(int, string?){}
Run Code Online (Sandbox Code Playgroud)
对于你们所有人,我给予积分.感谢帮助.主题[关闭] :)
Jon*_*eet 11
由于string已经是引用类型,因此不可用,因此已经可以为空.该?后缀是语法糖Nullable<T>,所以int?等同于Nullable<int>...和Nullable<T>具有一个约束where T : struct,即,T必须是一个非空值类型...其排除string.
换句话说,你可以写
public void Example(int x, string y)
{
if (y == null)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,这与使其成为可选参数不同.在传递null价值仍传递一个值.如果你想让它成为一个可选参数,你也可以这样做:
public void Example(int x, string y = "Fred")
...
Example(10); // Equivalent to Example(10, "Fred");
Run Code Online (Sandbox Code Playgroud)