C#中Static变量不熟悉导致的问题

某个项目的开发过程中遇到一个很奇葩的问题,在本地的认知中,同一个类,我们创建不同的对象后,每个对象的是独立的,那么对象下的属性也肯定是独立。例如,一个class student 

string name;

},

当我们创建两个对象,

student  Astudent =new student();

student  Bstudent =new student();

然后分别给两个对象的name属性赋值。

 Astudent .name="zhangsan";

 Bstudent .name="lisi";

 此时分别打印两个对象的属性,最终得到的结果是 :Astudent .name 的值为"zhangsan",  Bstudent .name 的值为"lisi";

此种情况是符合我的基本认知的。

但是。。。。 某个项目中却出现了问题。在以上事例中Astudent .name 与Bstudent .name 都变成了lisi。此问题想了很长时间没有找到原因

最终一个偶然的机会,我发现原本string name的定义方式变为了 string  statict name..大家发现了,多了一个关键字static.  我将关键字去掉问题就解决了。

但是其中的原理我还不是很清楚,目前只能理解为静态变量为公共属性,所有对象公用。

此问题待加深理解。。

posted @ 2021-11-27 14:31  xiaokanfengyuan  阅读(88)  评论(0)    收藏  举报