C#小程序一个,看个代码

[复制链接]
查看11 | 回复2 | 2011-2-26 09:07:42 | 显示全部楼层 |阅读模式
internal class Myclass

{

public int iField1 = FuncA();

public int iField2 = FuncC();

public int iField3 = FuncB();



public static int FuncA()

{

Console.WriteLine("MyClass.FuncA");

return 0;

}

public static int FuncB()

{

Console.WriteLine("MyClass.FuncB");

return 1;

}

public static int FuncC()

{

Console.WriteLine("MyClass.FuncC");

return 2;

}

}

public class Program

{

static void Main(string[] args)

{

Myclass obj = new Myclass();

Console.Read();

}

}
}
//结果如下:
MyClass.FuncA
MyClass.FuncC
MyClass.FuncB
搞不懂为什么一把MyClass类实例化就自动调用那些方法了?

回复

使用道具 举报

千问 | 2011-2-26 09:07:42 | 显示全部楼层
public int iField1 = FuncA();
public int iField2 = FuncC();
public int iField3 = FuncB();因为你在实例化的时候要进行这几个全局变量的赋值,而它们的值就是那几个过程函数,所以就会自动调用它们啦。。
回复

使用道具 举报

千问 | 2011-2-26 09:07:42 | 显示全部楼层
这个不是很正常吗?你一实例化,实例里面定义的三个变量iField1、2、3就要赋值,他们一赋值,就要调用方法。不就打印出来了嘛。 想要不打印,就把他们做成属性,编写get方法获取即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行