本人刚接触C#,对C#很不熟悉,请高手指教啊!

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:00:16
在C#中,所有类型的基类均为Object。写一段程序,测试整数数组与一个自定义类型数组的区别,从而判断C#中简单(值)类型与复杂(自定义)类型的共同与不同之处。
(背景知识)C#中,数据按存储方式分成两种不同类型:值类型与引用类型。值类型的实例保存在栈上,引用类型的实例保存在managed堆上。但所有类型的基类均为Object,于是一个值类型变量的实例可以保存在栈上,也可以保存在堆上。

意思好像是把地址打印出来,根据地址来比较,比较堆栈的不同。

class Program
{
unsafe static void Main(string[] args)
{
int[] intArr=new int[8];
@int[] intClassArr = new @int[8];
for (int i = 0; i < intClassArr.Length; i++)
{
intArr[i] = i;
}
for (int i = 0; i < intClassArr.Length; i++)
{
@int ci = new @int();
intClassArr[i] = ci;
intClassArr[i].Value = 100 + i;
}

Console.WriteLine("Adress of intArr is:");
for (int i = 0; i < intClassArr.Length; i++)
{
fixed (int* p = &intArr[i])
{
Console.Write("[" + i.ToString() + "] \t" + ((int)p).ToString("X"));
}
}
Console.Writ