C#中static静态变量的用法实例

2019-12-26 11:59:22于丽

静态成员函数

特点:
  ① 、静态成员函数与类相联系,不与类的对象相联系。
  ② 、静态成员函数不能访问非静态数据成员。原因很简单,非静态数据成员属于特定的类实例。

作用:主要用于对静态数据成员的操作。
调用形式:
  ① 、类对象名.静态成员函数名()
 
static静态变量的实例与分析
实例:

复制代码 using System;
namespace teststatic
{
    class class1
    {
        static int i = getNum();
        int j = getNum();
        static int num = 1;
        static int getNum()
        {
            return num;
        }
        static void Main(string[] args)
        {
            Console.WriteLine("i={0}",i);
            Console.WriteLine("j={0}", new class1().j);
            Console.Read();
        }
    }
}

 

现在分析上面的代码:

复制代码 Console.WriteLine(string.Format("i={0}",i)); 这里i是static变量,而且类class1是第一次被引 用,要先为class1里面所有的static变量分配内存。尽管现在有超线程技术,但是指令在逻辑还是一条一条的按顺序执行的,所以 先为static int i分配内存,并且在该内存中保持int的缺省值0,接着再为static int num 变量分配内存,值当然也为0。

 

然后执行第二步,为变量赋值:先为static int i变量赋值,i=getNum(),看getNum里面的代码,就是return num,这个时候num的值是0,于是i就为0了。然后对变量num赋值,num=1;这行代码执行后,num就为1了。
所以最后的结果为:
i=0 j=1

希望本文所述对大家的C#程序设计有所帮助。