
C#中静态变量static的使用示例
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本篇文章详细介绍了在C#编程语言中如何使用static关键字来声明静态变量,并通过实例代码展示其应用场景与优势。适合初学者和中级开发者参考学习。
在C#编程语言里,“static”关键字用于声明静态成员,包括静态变量、方法等等。这些成员属于类本身而不是特定的实例对象,在程序运行期间只分配一份内存给它们,并且可以被所有类的实例共同使用。
**静态全局变量:**
这类变量存储于全局数据区中,整个应用程序执行过程中都存在。如果未初始化,则会被默认设置为0值。作用域是全球范围内的,但生命周期不同于非静态全局变量,在程序启动时分配空间并在结束前释放它们的空间。
**静态局部变量:**
这些在函数或代码块里定义的变量虽然位于局部范围内,但是每次进入该区域不会重新创建新的实例。相反地,它们只初始化一次,并且在整个应用程序运行期间保持其值不变。
**静态数据成员:**
- 内存分配位置是在全局数据区。
- 必须在外边进行声明和赋初始值操作,因为这些变量在类的任何对象产生之前就需要存在了。
- 访问方式是通过使用“ClassName.StaticDataMember”的形式访问它们。
- 特点在于它属于该类型本身而不是特定实例。
**静态方法:**
这类函数与具体某个对象无关。可以不创建类的对象直接调用这些函数,但是只能操作静态变量或其它静态成员。主要用于执行一些独立于任何特定对象的操作,比如计算、设置全局性的参数等。
下面是一个关于“static”关键字使用的例子:
```csharp
class class1 {
static int i = getNum(); // 静态变量i
int j = getNum(); // 非静态变量j
static int num = 1; // 静态变量num
static int getNum() { // 静态方法
return num;
}
public static void Main(string[] args) {
Console.WriteLine(i={0}, i); // 输出静态变量i的值
Console.WriteLine(j={0}, new class1().j); // 创建实例后输出非静态变量j的值
Console.Read();
}
}
```
在上述代码中,`i`和`num`是静态变量而`j`是非静态。当执行到Main函数时,类class1首次被引用的时候初始化了static成员 `i`, 此刻由于 num 的初始值为0, 因此 i 也等于0. 然后将 num 设置为了1. 这样就导致 i 始终保持为0的状态。创建新的 class1 实例,调用非静态变量 j 的时候会再次执行 getNum 方法返回此时的num值即1。
总之,“static”关键字在C#中非常重要,它允许开发者定义类级别的数据和行为,在不依赖于任何特定对象的情况下运行这些操作或函数。这有助于编写更高效且结构清晰的代码,并通过合理使用静态成员来优化内存利用并提供全局共享的功能支持。
全部评论 (0)


