编译器错误“不允许使用默认参数说明符”

以下是我的代码。

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; } } 

这是在课堂上。 当我尝试运行程序时,它会出现此错误:

不允许使用默认参数说明符

我该如何解决这个错误?

问题是您不能在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; } } 

如果您的项目似乎设置为.NET 4.0,然后将其更改为例如3.5,然后再次更改为4.0。 当我想要在我的新软件中安装项目时,我将旧的解决方案解决方案中的类库项目包含到新的解决方案中时出现此错误。 两个解决方案都是.NET 4,但我得到“默认参数说明符不允许”错误。 我刚刚做了我解释的内容。