c#程序分析

来源:百度知道 编辑:UC知道 时间:2024/06/05 03:08:24
高手可以帮你说下这个程序是什么意思吗!~
namespace EX02_01
{
class ObjectClass
{
public int i=60
}
class program
{
static void main(string[]args)
{
object a;
a=1;
console.writeline(a);
console.writeline(a.Gettype());
console.writeline(a.ToString());
console.writeline();
a=new ObjectClass();
ObjectClass classRef;
classRef=(ObjectClass)a;
console.writeline(classRef.i);
console.Read();
}
}
}

static void Main(string[]args) //程序主体
{
object a; //定义一个object类型的变量,即通用变量
a=1; //将整数1赋值给变量a,系统默认的整数类型为System.Int32
Console.WriteLine(a); //WriteLine函数自动将变量a转换为字符串类型显示,这叫做隐式转换,是系统进行的
Console.WriteLine(a.GetType()); //此时a的类型已经通过赋值,已经默认变成了System.Int32
Console.WriteLine(a.ToString()); //通过a.Tostring()函数,把变量a转换成字符串显示,这叫做显式转换,是通过手工输入函数进行的
Console.WriteLine(); //显示空白行
a=new ObjectClass(); //重新将a赋值为ObjectClass的新变量
ObjectClass classRef; //定义一个新的变量classRef,类型为自定义类型ObjectClass
classRef=(ObjectClass)a; //将变量a中的值,赋值给变量classRef,此时需要通过前置(ObjectClass)来进行显示转换,因为a的定义类型(object)与classRef的定义类型(ObjectClass)不一致
Console.WriteLine(classRef.i); //显示classRef的属性i中的值(在初始化ObjectClass类型时设定了“public int i=60;”,所以在“a=new ObjectClass();”时会自动设定变量a中的i为60)
Console.Read(); //等待回车,也可输入其他字符后回车,应该用Console.ReadKey()会更好一些
} //程序主体结束

主要区别引用类型和值类型