C#6结构体中的无参数构造函数但是下面的代码在VS2015社区中给出了编译错误publicstructPerson{publicstringName{get;}publicintAge{得到;}publicPerson(stringname,intage){Name=name;年龄=年龄;}publicPerson():this("JaneDoe",37){}}错误:“结构不能包含显式无参数构造函数”有人知道为什么吗?此功能存在于较早的C#6.0预览版中,这就是一些文章谈论它的原因。但它随后被删除,因此它不存在于VS2015RC分发的版本中。具体来说,更改已在拉取请求#1106中恢复,其中包含有关问题#1029的基本原理的更多信息。引用VladimirSadov的话:随着我们执行越来越多的测试,我们不断发现无参数构造函数在库中甚至在某些版本的CLR中导致不一致行为的情况。[…]在重新考虑打破长期存在的假设所导致的潜在问题之后,我们决定最好让我们的用户恢复对结构构造函数始终具有表单参数的要求。我不确定为什么允许这样做:publicstructPerson{publicstringName{get;}publicintAge{得到;}publicPerson(stringname=null,intage=0){Name=name;年龄=年龄;这会解决你的问题吗?以上就是C#学习教程分享的全部内容:C#6结构体中的无参构造函数。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
