C# 中的类型一共分为两类,一类是值类型(Value Type),一类是引用类型(Reference Type)。
引用类型有5种:类(class)、接口(interface)、委托(delegate)、对象(object)、字符串(string)。
值类型:除去引用类型之外的,比如int、bool、byte、struct(结构)、enum(枚举)等等。
值类型和引用类型的区别:值类型直接在他自身分配到的内存中存储数据,而引用类型只是包含指向存储数据位置的指针。
看看下面这段代码就明白了
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
class Program
{
static void Main(string[] args)
{
int i = 0;
int j = i;
i = 1;
Console.WriteLine("i={0}", i);
Console.WriteLine("j={0}", j);
//输出结果
//i=1
//j=0
c1 a1 = new c1();
c1 a2 = a1; //由于是引用类型,所以这里a1的指针赋值给了a2
a1.Attribute = 1; //这里对指针所指向的数据赋值
Console.WriteLine("a1={0}", a1.Attribute);
Console.WriteLine("a2={0}", a2.Attribute);
//输入结果
//a1=1
//a2=1
}
}
public class c1
{
public int Attribute;
public c1()
{
Attribute = 1;
}
}
最后再推荐一篇文章大家可以看看 C# 类型基础