using System;public class test
{
int ctr; public test()
{
Console.WriteLine("{0}\n",ctr); //这里却没出错,输出结果是0 }}class TestApp
{
public static void Main()
{
int ctr;
//Console.WriteLine("{0}\n",ctr); //这里出错了,我把这句注释掉就能正常运行了
test first=new test();
Console.Read();
}}//请问以上情况该怎么理解?C#初学者,先谢谢各位帮忙了
{
int ctr; public test()
{
Console.WriteLine("{0}\n",ctr); //这里却没出错,输出结果是0 }}class TestApp
{
public static void Main()
{
int ctr;
//Console.WriteLine("{0}\n",ctr); //这里出错了,我把这句注释掉就能正常运行了
test first=new test();
Console.Read();
}}//请问以上情况该怎么理解?C#初学者,先谢谢各位帮忙了
所以当类创建具体实例对象的时候,C#的默认构造函数会帮你把 int 初始化为0第2个 class TestApp 你声明的是 static 静态的.声明静态意味着不用创建类的实例就可以调用.没法初始化,所以抱错