简单来说,struct是值类型,创建一个struct类型的实例被分配在栈上。class是引用类型,创建一个class类型实例被分配在托管堆上。但struct和class的区别远不止这么简单。本篇主要包括:

 

概括来讲
从赋值的角度体验struct和class的不同
从参数传值角度体验struct和class的不同
从struct类型的struct类型属性和struct引用类型属性体验struct和class的不同
从构造函数体验struct和class的不同
从给类型成员赋初值体验struct和class的不同
何时使用struct,何时使用class?

 

Program { static void Main(string[] args) { SizeClass sizeClass = new SizeClass(){Width = 10, Length = 10}; Console.WriteLine("赋值前:width={0},length={1}", sizeClass.Width, sizeClass.Length); var copyOfSizeClass = sizeClass; copyOfSizeClass.Length = 5; copyOfSizeClass.Width = 5; Console.WriteLine("赋值后:width={0},length={1}",sizeClass.Width, sizeClass.Length); Console.ReadKey(); } } public class SizeClass { public int Width { get; set; } public int Length { get; set; } } public struct SizeStruct { public int Width { get; set; } public int Length { get; set; } }

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-17
  • 2021-10-06
  • 2021-10-10
  • 2021-10-05
猜你喜欢
  • 2022-02-23
  • 2021-07-01
  • 2022-01-28
  • 2021-11-11
  • 2021-07-04
相关资源
相似解决方案