采取以下片段:
List<int> distances = new List<int>();
这种冗余是语言设计者有意为之的吗?如果是这样,为什么?
代码看起来冗余的原因是,对于新手程序员来说,它似乎定义了同一件事两次。但这不是代码所做的。它定义了两个恰好属于同一类型的独立事物。它定义了以下内容:
- 名为 distances 类型的变量
List<int>
.
- type 堆上的对象
List<int>
.
考虑以下:
Person[] coworkers = new Employee[20];
这里的非冗余性更加清晰,因为变量和分配的对象是两种不同的类型(如果对象的类型派生自变量的类型或实现变量的类型,则这种情况是合法的)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)