浩明-空间 浩明-空间
首页
  • Unity

    • 类比法学c#
  • 学习笔记

    • 《JavaScript高级程序设计》
    • 《TypeScript 从零实现 axios》
    • TypeScript
    • JS设计模式总结
  • typescript杂谈

    • 为什么要用ts
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • vim学习
  • webgl基础
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 悟道
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

储浩明

热爱编程的小明
首页
  • Unity

    • 类比法学c#
  • 学习笔记

    • 《JavaScript高级程序设计》
    • 《TypeScript 从零实现 axios》
    • TypeScript
    • JS设计模式总结
  • typescript杂谈

    • 为什么要用ts
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • vim学习
  • webgl基础
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 悟道
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • JavaScript文章

  • Unity

    • C#类比学习
    • ts-c#的泛型
    • c#命名空间与es6模块
    • lambda表达式
    • c#和ts的异步编程
    • C#与ts的数组操作方法
    • c#与ts事件
    • c#和ts的继承
    • c#与ts接口
    • c#与ts类对象
    • 向量运算
    • 太阳系系统
    • C#中的事件与委托对比
    • c#中的值类型和引用类型
      • C#的值类型
        • unity中的值类型
      • 什么是结构体
  • 学习笔记

  • typescript杂谈

  • 前端
  • Unity
chuhaoming
2024-08-19
目录

c#中的值类型和引用类型

# 起因

今天在开发ui动画的时候 我将Vector3 scaleFactor = transform.localScale; 然后我再赋值transform.localScale=Vector3.zero; 然后我发现scaleFactor和transform.localScale的值居然都不同 我想难道是深拷贝吗? vector3不应该是引用类型吗? 一系列的疑问涌上心头。。。如是开始问ai和百度终于发现了c#中的引用类型和值类型其实和js还是有一点差别的,其中就是c#里多了一个结构体类型。

# 结论

C#中的结构体是一种独特的值类型,而JavaScript没有类似的结构体概念。

# C#的值类型

  1. 布尔类型(bool)

  2. 字符类型(char)

  3. 整数类型(byte、sbyte、short、ushort、int、uint、long、ulong)

  4. 浮点数类型(float、double、decimal)

  5. 枚举类型(enum)

  6. 结构体类型(struct)

# unity中的值类型

  1. 向量类型(Vector2、Vector3、Vector4)---结构体
  2. 颜色类型(Color、Color32) --结构体
  3. 矩阵类型(Matrix4x4)---结构体
  4. 四元数类型(Quaternion)---结构体
  5. 边界框类型(Bounds)--结构体
  6. 射线类型(Ray)---结构体
  7. 平面类型(Plane) ---结构体
  8. 时间类型(TimeSpan)---结构体
  9. 存储本次触摸(touch)---结构体

# 什么是结构体

结构体是一种复合数据类型。它和类很像,你可以用相同的方式定义域和方法。下面的例子定义了一个结构体和一个类,它们几乎是一样的

public struct PointA
{
    public int x;
    public int y;
}
public class PointB
{
    public int x;
    public int y;
}

1
2
3
4
5
6
7
8
9
10
11
编辑 (opens new window)
上次更新: 2024/08/23, 14:13:02
C#中的事件与委托对比
webgl基础

← C#中的事件与委托对比 webgl基础→

最近更新
01
ARG
12-03
02
插件开发的核心原则
12-03
03
Python基础知识与js,c#,ts类比
03-19
更多文章>
Theme by Vdoing | Copyright © 2019-2025 Haoming chu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式