我想请问在C#中,静态变量与实例变量有什么区别?那么我下面这段代码中a2的值为什么不是一样的啊?谢谢
namespaceConsoleApplication3{classProgram{staticvoidMain(string[]args){StaticTestA,B;...
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
StaticTest A, B;//定义类的变量
A = new StaticTest();//创建类的实例A
B = new StaticTest();//创建类的实例B
StaticTest.stal = StaticTest.stal + 10;//通过类名给静态变量赋值
A.a2 = A.a2 + 10;//给实例A的成员A2赋值
StaticTest.stal = StaticTest.stal + 10;//通过类名给静态变量赋值
B.a2 = B.a2 + 20;//给实例B的成员赋值
Console.WriteLine("StaticTest.stal+{0},A.a2={1}", StaticTest.stal, A.a2);//输出静态变量和实例A的成员a2的值
Console.WriteLine("StaticTest.stal+{0},B.a2={1}", StaticTest.stal, B.a2);//输出静态变量和实例B的成员a2的值
}
}
class StaticTest
{
public static int stal = 10;//定义静态变量
public int a2 = 10;//定义实例变量
}
} 展开
{
class Program
{
static void Main(string[] args)
{
StaticTest A, B;//定义类的变量
A = new StaticTest();//创建类的实例A
B = new StaticTest();//创建类的实例B
StaticTest.stal = StaticTest.stal + 10;//通过类名给静态变量赋值
A.a2 = A.a2 + 10;//给实例A的成员A2赋值
StaticTest.stal = StaticTest.stal + 10;//通过类名给静态变量赋值
B.a2 = B.a2 + 20;//给实例B的成员赋值
Console.WriteLine("StaticTest.stal+{0},A.a2={1}", StaticTest.stal, A.a2);//输出静态变量和实例A的成员a2的值
Console.WriteLine("StaticTest.stal+{0},B.a2={1}", StaticTest.stal, B.a2);//输出静态变量和实例B的成员a2的值
}
}
class StaticTest
{
public static int stal = 10;//定义静态变量
public int a2 = 10;//定义实例变量
}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询