跳到正文

【C#进阶】对C#中的值类型和引用类型的理解和区别

C#中的值类型和引用类型总结如下: 值类型:int , double, char, bool, decimal, struct, enum引用类型:string, 数组,自定义类, 接口, 委托 区别:值类型的值存储在内存的栈上, 引用类型的值存储在堆中。 (栈上存储数据的效率要高于堆) 值传递:把值类型作为参数传递引用传递:把引用类型作为参数传递 直接来看下面的两个案例:int number = 10; string s = "战三"; //值传递 Test(number); //实参 Console.WriteLine(number); //引用传递 Test2(ref number); Console.WriteLine(number); 画出内存四区图: 275 案例二:int number = 10; string s = "战三"; //值传递 Test(number); //实参 Console.WriteLine(number); //引用传递 Test2(ref number); Console.WriteLine(number); 276 案例三://实例 PersonFive p22 = new PersonFive(); p22.Name = "胡巴基"; Test3(p22); Console.WriteLine("p22.Name is "+p22.Name); 277 通过以上三个案例和相应的内存四区图,相信大家对这两个概念应该有了更深层次的理解!

评论

填写昵称与邮箱即可评论,无需登录。

推荐阅读