hes*_*adi 11 c# compiler-errors .net-3.5 default-parameters
以下是我的代码.
public class PItem
{
public String content;
public int count;
public int fee;
public int amount;
public string description;
// Default values
public PItem(String _content = "", int _count = 0, int _fee = 0, string _description = "", int _amount = 0)
{
content = _content;
count = _count < 0 ? 0 : _count;
fee = _fee;
description = _description;
amount = _amount < 0 ? 0 : _amount;
}
}
Run Code Online (Sandbox Code Playgroud)
这是在课堂上.当我尝试运行程序时,它会出现此错误:
不允许使用默认参数说明符
我该如何解决这个错误?
San*_*nen 27
问题是您不能在C#版本中使用小于4的可选参数.
您可以在此处找到有关此内容的更多信息.
你可以这样解决:
public class PItem
{
public String content;
public int count;
public int fee;
public int amount;
public String description;
// default values
public PItem(): this("", 0, 0, "", 0) {}
public PItem(String _content): this (_content, 0, 0, "", 0) {}
public PItem(String _content, int _count): this(_content, _count, 0, "", 0) {}
public PItem(String _content, int _count, int _fee): this(_content, _count, _fee, "", 0) {}
public PItem(String _content, int _count, int _fee, string _description): this(_content, _count, _fee, _description, 0) {}
public PItem(String _content, int _count, int _fee, string _description, int _amount)
{
content = _content;
count = _count < 0 ? 0 : _count;
fee = _fee;
description = _description;
amount = _amount < 0 ? 0 : _amount;
}
}
Run Code Online (Sandbox Code Playgroud)