一:本质区别
值类型:每一个值类型都有一个独立的内存区域保存自己的值,调用它时,调用的是它的值
引用类型:调用的是内存地址
二:类型包括
值类型:
值
类
型
Int、double、bool、char
Struck 结构
Enum枚举
引用类型:
引
用
类
型
String
Object
Class类
三:代码解析
值类型:以结构为例
class Program
{
static void Main(string[] args)
{
Person p1 = new Person();
p1.Name = "王华";
p1.Age = 13;
Person p2 = new Person();
p2 = p1;
p2.Age = 18;
Console.WriteLine(p1.Age);
Console.WriteLine(p2.Age);
Console.Read();
}
}
struct Person
{
string name;
int age;
public string Name
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
}运行结构为:13 18
引用类型:以类为例
static void Main(string[] args)
{
Person p1 = new Person();
p1.Name = "王华";
p1.Age = 13;
Person p2 = new Person();
p2 = p1;
p2.Age = 18;
Console.WriteLine(p1.Age);
Console.WriteLine(p2.Age);
Console.Read();
}
}
class Person
{
string name;
int age;
public string Name
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
}
运行结构为:18 18