美文网首页
C# 类和结构体

C# 类和结构体

作者: 暴走TA | 来源:发表于2023-03-14 19:22 被阅读0次

简介: 今天网上学习了一下 类和结构体的差异
unity版本:20222.1.7fc1

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

概括来讲,struct和class的不同体现在:

● 类是引用类型,struct是值类型
● 在托管堆上创建类的实例,在栈上创建struct实例
● 类实例的赋值,赋的是引用地址,struct实例的赋值,赋的是值
● 类作为参数类型传递,传递的是引用地址,struct作为参数类型传递,传递的是值
● 类没有默认无参构造函数,struct有默认无参构造函数
● 类支持继承,struct不支持继承
● 类偏向于"面向对象",用于复杂、大型数据,struct偏向于"简单值",比如小于16字节,结构简单
● 类的成员很容易赋初值,很难给struct类型成员赋初值
● 类的实例只能通过new SomeClass()来创建,struct类型的实例既可以通过new SomeStruct()来创建,也可以通过SomeStruct myStruct

简单来说

类是一个可以引用的对象类型,变量存的是引用地址,结构体 相当于我们做了一个 类似 float int 的级别的结构

相关文章

  • C# 访问修饰符

    C# 【方法】默认访问级别 : private C# 【类】和【结构体】默认访问级别 : internal 1.命...

  • C#结构体定义的详解

    C#结构体定义的情况: C#结构体定义也可以象类一样可以单独定义. class a{}; struct a{}; ...

  • 结构体

    C# 结构体 struct C#中结构类型和类类型在语法上非常相似,他们都是一种数据结构,都可以包括数据成员和方法...

  • C# 类和结构体

    类 类是引用类型,因此类对象的变量引用该对象在托管堆上的地址,声明为引用类型的变量缺省值为null。 结构体 (C...

  • 1024

    今天是程序员的节日。 今天由另一名老师代课,讲了第五章的内容,结构体和枚举,对于C#而言,结构体更加像一个C#的类...

  • 类和结构体

    类与结构体 本节内容包括: 类和结构体对比 结构体和枚举是值类型 类是引用类型 类和结构体的选择 集合类型的赋值与...

  • Swift Tour Learn (六) -- Swift 语法

    Swift语法基础(五)-- (类和结构体、属性、方法) 本章将会介绍 类和结构体对比结构体和枚举是值类型类是引用...

  • swift基础_结构体和类

    一.结构体和类 结构体张这个样子 类张这个样子 二.结构体和类的区别 针对结构体, 即使你没有定义函数,编译器也会...

  • Day9 类和结构体

    本页包含内容:• 类和结构体对比• 结构体和枚举是值类型• 类是引用类型• 类和结构体的选择• 字符串、数组、和字...

  • Swift学习_基本语法之枚举&类&结构体

    1.枚举 类和结构体 在swift中类和结构体类似,可以把结构体理解成是一种轻量级的类,在swift中结构体不仅可...

网友评论

      本文标题:C# 类和结构体

      本文链接:https://www.haomeiwen.com/subject/qnskrdtx.html