类中的静态变量与C#入门实践
类的静态变量用得好的话,能省不少事,尤其像那种编号递增的场景,简直太合适了。
学生编号的场景就挺经典——每创建一个学生对象,自动给个编号,从 0 开始,依次加 1。你要是每次手动赋值,不光麻烦,还容易出错。关键就在于用个静态变量当全局计数器,所有对象共用它,构造函数里顺手加一下,逻辑就通了。
C#里虽然没有传统意义上的全局变量,但类变量也能干这活。用static
关键字声明,作用域只在当前类里,别的类用不了,但你类里任意对象都能访问,这就够用了。
你可以这么搞:
public class Student {
private static int counter = 0;
public int ID;
public Student() {
ID = counter;
counter++;
}
}
每次 new 一个Student
,ID
都是唯一的,自动加。是不是比维护一个外部变量强多了?而且封装性也更好。
想深入理解,可以去看看这篇《C# 中的静态变量》,讲得挺清楚的。另外静态构造函数有时候也用得上,比如初始化静态资源,可以参考这篇,搭配起来更顺手。
,静态变量用好了,能省多麻烦。如果你经常遇到“每个对象唯一编号”的需求,不妨把这个套路收进工具箱里。
4.81MB
文件大小:
评论区