看到程序中大部分变量都用到了static 修饰符,以前学C语言时只知道 Static定义一个静态变量,相当于全局变量,对这个静态变量进行操作后,可以保持不变。感觉自己理解的还很表面,没有深入理解它的用法,在C#中又多次用到。看到如下代码似乎有了进一步理解。
using System;
using System.Collections.Generic;
using System.Text;
namespace Example01
{
class Program
{
class Class1
{
public static String staticStr ="Class";
public String notstaticStr ="Obj";
}
static void Main(string[] args)
{
//静态变量通过类进行访问,该类所有实例的同一静态变量都是同一个值
Console.WriteLine("Class1's staticStr: {0}", Class1.staticStr);
Class1 tmpObj1 =new Class1();
tmpObj1.notstaticStr ="tmpObj1";
Class1 tmpObj2 =new Class1();
tmpObj2.notstaticStr ="tmpObj2";
//非静态变量通过对象进行访问,不同对象的同一非静态变量可以有不同的值
Console.WriteLine("tmpObj1's notstaticStr: {0}", tmpObj1.notstaticStr);
Console.WriteLine("tmpObj2's notstaticStr: {0}", tmpObj2.notstaticStr);
Console.ReadLine();
}
}
输出结果:
不过,说实话,用得还不多,理解得还不是很透彻,希望以后用到时,再对此有所补充。