如图,我将实例创建了10次,而且名字都是COM,并加入到一个LIST中,这个编译能够通过
但如果我不写For循环直接命名,出现第二次同名C的时候就报错了
第二个我能理解,因为不能存在两个相同名称的实例,但是为什么我用For去写就允许存在相同名称的实例呢
第二个我能理解,因为不能存在两个相同名称的实例,但是为什么我用For去写就允许存在相同名称的实例呢
这涉及到C#变量的作用域的概念,请自行查阅资料。
这里以人名为例帮助你理解为什么?
在C#中,声明变量就好比给人取名字。在一个村子(假如村子名叫“互助村”)里,不可能有两个人取名为“张三”的。这个互助村对应C#中的作用域,“张三”即为一个变量名,“张三”这个具体的人即为一个实例。
极端一点的例子,把作用域缩小到一个家庭的两个双胞胎,总不能把两个双胞胎取成相同的名字(“张三”)吧。
这里的for
=10相当于有10个不同的村子里都有人取名叫“张三”,这是被允许的。