C#值类型和引用类型
2021-05-05 09:28
标签:独立 结构 之间 bsp 输出 相互 last 地址 line 值类型和引用类型通俗来讲:就是存储的地方不一样, 值类型 int double bool char struct(结构) enum(枚举) 存放在托管堆上边, 引用类型:string object class 存放到栈上。 简单来说 比如 int a=1; int b=a;那么为b赋值的时候,就是把a的值复制一份,在内存中心创建一块区域保存b的值。a和b的存储是独立的 class a=new class(); class b=a;那么为b赋值的时候,仅仅把a的引用地址复制给b。这样a和b就指向内存中的同一个地址。a和b是关联的。 值类型是对象与对象之间的相互赋值 引用类型 赋的是引用地址 没有值的传递 class Program public class Staff public struct Employee } static void Main(string[] args) Staff s1 = new Staff { FirstName = "123" }; } 最后输出s1=abc e1=123 C#值类型和引用类型 标签:独立 结构 之间 bsp 输出 相互 last 地址 line 原文地址:http://www.cnblogs.com/qixiaolan/p/7683852.html
{
{
//引用类型
public string FirstName { get; set; }
public string LastName { get; set; }
public int Salary { get; set; }
}
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Salary { get; set; }
}
{
Staff s2 = s1; //只赋值地址 不赋值
s2.FirstName = "abc";
Employee e1 = new Employee { FirstName = "123" };//e1="123"
Employee e2 = e1;
e2.FirstName = "abc";
Console.WriteLine("s1=" + s1.FirstName + ", e1=" + e1.FirstName);
下一篇:5.常见类和API