C#中Cube类Enlarge void方法运算报错问题咨询
Cube类Enlarge方法错误修复方案
错误根源
你写的Size * 0.1只是算出了当前尺寸的10%,但既没把结果存回Size属性,也没做其他用途——C#不允许这种“无意义”的孤立表达式,必须把计算结果赋值给变量/属性,或者用它完成某个操作。另外,你要的是放大10%(即变成原尺寸的1.1倍),不是只取原尺寸的10%,这个逻辑也得调整。
正确代码实现
把计算后的新尺寸赋值回Size属性就行,而且你的Size setter已经做了非负校验,不用担心非法值:
public void Enlarge() { // 放大10%,等价于原尺寸 × 1.1 Size = Size * 1.1; // 也可以用简写语法:Size *= 1.1; }
内容的提问来源于stack exchange,提问作者Bran
相关产品推荐
相关产品推荐

