C#入门:静态变量与类变量详解

需积分: 31 339 下载量 56 浏览量 更新于2024-07-13 收藏 4.81MB PPT 举报
"C#语言是微软为.NET Framework设计的一种现代化的、面向对象的编程语言,旨在结合高效开发和底层功能的充分利用。C#从C/C++中汲取了优点,同时引入了面向对象的特性,使其成为开发各种类型应用程序的理想选择,包括基于通用网络协议的互联网服务、数据库应用、网络服务以及Windows桌面应用。C#的关键特性之一是其与.NET平台的紧密集成,这允许开发者利用.NET框架提供的工具和服务。 在.NET Framework中,代码的执行过程分为编译和运行时两个阶段。C++和VB等传统语言编译成可执行代码,而C#编译成中间语言(MSIL,Microsoft Intermediate Language)。MSIL是.NET Framework的通用语言基础结构(CTS,Common Type System)的一部分,它确保不同语言间的互操作性。在运行时,JIT(Just-In-Time)编译器将MSIL转换为特定于平台的机器码,实现高效的执行。 在C#中,静态变量(static variables)是类变量,它们属于类本身而非类的任何实例。这意味着无论创建多少个类的对象,静态变量只有一份存储。在提供的代码示例中,`Student`类有一个静态变量`counter`,用于跟踪创建的学生对象的数量。每当创建一个新的`Student`对象,`counter`会递增,而每个对象的`serialNumber`属性会被设置为当前的`counter`值。在`Main`方法中,创建了两个`Student`对象,`stu`和`stu1`,并打印它们的`serialNumber`,展示出`counter`如何作为共享的静态变量在所有实例之间保持一致。 静态变量的应用场景包括但不限于:计数器、全局配置信息、或在没有实例化对象的情况下需要共享的数据。需要注意的是,静态变量在类加载时初始化,且在整个应用程序域(AppDomain)中都存在,直到应用程序结束。因此,如果不正确地使用静态变量,可能会导致内存泄漏或数据竞争问题,特别是在多线程环境中。 C#中的静态变量是类级别的共享数据,它在所有类实例间共享,由JIT编译器处理,并在.NET Framework的环境中运行。了解并熟练掌握静态变量的使用是C#编程的基础,它有助于构建高效、可靠的程序结构。