【Unity 3D】C#数据类型和变量、命名规范的讲解(附源码)

简介: 【Unity 3D】C#数据类型和变量、命名规范的讲解(附源码)

觉得有帮助请点赞关注收藏~~~

一、C#的值类型和引用类型

1:值类型

值类型变量可以直接分配给一个值,它是从类Ststem.ValueType中派生的,值类型直接包含数据,如int char float等等

bool 布尔值

byte 8位无符号整数

char 16位unicode字符

decimal 128位精确的十进制值

double 64位双精度浮点值

float 32位单精度浮点值

int 32位有符号整数类型

sbyte 8位有符号整数类型

short 16位有符号整数类型

uint 32位无符号整数类型

对于值类型来说,C#语言中每种数据类型都有自己的取值范围,即能够存储值的最大值和最小值,借助数据类型提供的两个 属性MaxValue和MinValue,可以轻松的获取该数据类型可以存储的最大值和最小值

代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class API : MonoBehaviour
{
    // Start is called before the first frame update
    private void Awake()
    {
        Debug.Log("Awake: hello world");
    }
    void Start()
    {
        Debug.Log("byte  min" + byte.MinValue + "\nmax" + byte.MaxValue);
        Debug.Log("char  min" + char.MinValue + "\nmax" + char.MaxValue);
        Debug.Log("double  min" + double.MinValue + "\nmax" + double.MaxValue);
        Debug.Log("float  min" + float.MinValue + "\nmax" + float.MaxValue);
        Debug.Log("int  min" + int.MinValue + "\nmax" + int.MaxValue);
        Debug.Log("sbyte  min" + sbyte.MinValue + "\nmax" + sbyte.MaxValue);
        Debug.Log("short  min" + short.MinValue + "\nmax" + short.MaxValue);
        Debug.Log("uint  min" + uint.MinValue + "\nmax" + uint.MaxValue);
        Debug.Log("ulong  min" + ulong.MinValue + "\nmax" + ulong.MaxValue);
        Debug.Log("ushort  min" + ushort.MinValue + "\nmax" + ushort.MaxValue);
    }
    // Update is called once per frame
     private void Update()
    {
        Debug.Log("update event!");
    }
    private void FixedUpdate()
    {
        Debug.Log("FixedUpdate event!");
    }
    private   void LateUpdate()
    {
        Debug.Log("LateUpdate Evnet!");
    }
}

2:引用类型

引用类型不包含存储在变量中的实际数据,但他们包含对变量的引用

换句话说,它们是指一个内存位置,使用多个变量时,引用类型可以指向一个内存位置,如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化

值类型和引用类型的区别

1:存取速度上的区别 值类型块 引用类型慢

2:用途上的区别  值类型表示实际数据,  引用类型表示指向存储在内存堆中的数据指针或引用

3:来源上的区别

4:位置上的区别  值类型存储在栈中 引用类型存储在堆中

5:类型上的区别  值类型直接存放实际数据 引用类型存放数据的地址 即对象的引用

二、装箱和拆箱

当一个值类型转换为引用类型时,称为装箱,当一个引用类型转换为值类型时,称为拆箱

以下为测试结果

代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class API : MonoBehaviour
{
    // Start is called before the first frame update
    private void Awake()
    {
        Debug.Log("Awake: hello world");
    }
    void Start()
    {
        Debug.Log("byte  min" + byte.MinValue + "\nmax" + byte.MaxValue);
        Debug.Log("char  min" + char.MinValue + "\nmax" + char.MaxValue);
        Debug.Log("double  min" + double.MinValue + "\nmax" + double.MaxValue);
        Debug.Log("float  min" + float.MinValue + "\nmax" + float.MaxValue);
        Debug.Log("int  min" + int.MinValue + "\nmax" + int.MaxValue);
        Debug.Log("sbyte  min" + sbyte.MinValue + "\nmax" + sbyte.MaxValue);
        Debug.Log("short  min" + short.MinValue + "\nmax" + short.MaxValue);
        Debug.Log("uint  min" + uint.MinValue + "\nmax" + uint.MaxValue);
        Debug.Log("ulong  min" + ulong.MinValue + "\nmax" + ulong.MaxValue);
        Debug.Log("ushort  min" + ushort.MinValue + "\nmax" + ushort.MaxValue);
        int i = 0;
        System.Object obj = i;
        Debug.Log(obj);
        int j = (int)obj;
        Debug.Log(j);
    }
    /*
    // Update is called once per frame
     private void Update()
    {
        Debug.Log("update event!");
    }
    private void FixedUpdate()
    {
        Debug.Log("FixedUpdate event!");
    }
    private   void LateUpdate()
    {
        Debug.Log("LateUpdate Evnet!");
    }
    */
}

三、常量和变量

变量是供程序操作的,在存储区的名字,变量的值可以存储在内存中,可以对变量进行一系列操作,常量是固定值,初始化后就不会改变。

常量的初始化

const int a=100;

1:在声明时必须初始化 并且不能再修改

2:常量的值必须能在编译时用于计算

3:常量总是静态的 但声明时不必包含static

变量的初始化

int a=100;

变量的作用域

变量的作用域时指可以访问该变量的代码区域,循环体中允许出现相同的变量名

四、命名惯例和规范

1:匈牙利命名法

它的思想是再所有变量类型前添加一个前缀来说明变量的类型

bool b_flag; 这样过于繁琐 使用不多

2:帕斯卡命名法

帕斯卡命名法的规则是首字母大写

public void SomeMethod(){}

3:骆驼命名法

顾名思义 是指使用混合大小写字母构成变量和函数的名字

someMethod()

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
2月前
|
存储 C# 索引
C# 一分钟浅谈:变量与数据类型简介
【9月更文挑战第1天】在 C# 编程中,了解变量与数据类型至关重要。本文详细介绍了 C# 中的值类型(如整数、浮点数、布尔值等)和引用类型(如类、接口、数组、字符串)。通过示例代码展示了变量的声明与使用方法,并针对数据类型转换错误、变量未初始化及数值溢出等常见问题提供了解决方案。正确选择数据类型不仅能提升程序性能,还可避免潜在错误,有助于编写高质量代码。
129 47
|
4月前
|
存储 Oracle 关系型数据库
PACS源码,C#语言数字医学影像系统成品源码
**数字医学影像系统(RIS/PACS)**采用C#开发,基于C/S架构,配Oracle数据库,具备自主版权,适用于项目实施。系统包含分诊、超声、放射、内镜、病理等工作站,支持基本信息维护、报表查询和系统维护。功能亮点有:WorkList管理、影像采集传输、存储检索、图像处理、多序列浏览、流程控制、报告录入与审核、支持多种影像设备及高级影像处理。RIS与PACS数据库同步,并集成HIS、电子病历等系统接口。全面遵循DICOM3.0标准。
PACS源码,C#语言数字医学影像系统成品源码
|
4月前
|
BI 数据处理
一体化的医学实验室信息系统源码,C#LIS系统源码
面向医学实验室的一体化平台提供标本流程管理、报告发布及科室管理支持。它与HIS无缝对接,简化患者信息录入,实现检验结果实时同步。系统自动处理数据、分类样本、计算参考范围,并对异常结果预警。条码管理简化样本追踪,质控管理提升检测准确性。平台还支持数据审核发布、历史结果查询对比、灵活报表打印及统计分析等功能,辅助科室管理和试剂库存控制,加强科室间沟通协作。
一体化的医学实验室信息系统源码,C#LIS系统源码
|
3月前
|
传感器 开发框架 JSON
聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例
聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例
157 0
|
3月前
|
Java C#
C# 和 java 基本数据类型
C# 和 java 基本数据类型
22 0
|
5月前
|
图形学
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)(上)
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)
215 2
|
4月前
|
数据采集 监控 BI
C#实验室检验LIS信息系统源码 微生物检验、质控维护
LIS系统的主要目标是为检验室开展检验工作提供更加有效的系统支持。该系统将尽量减少以人工操作的方式来实现信息转移,减少在接收检验项目、报告结果和保存记录等工作中可能会出现的人为误差,为检验结果查询提供更有效的方法,节省了管理信息所需的琐碎时间和精力。为实验室技术人员提供智能化的运行模式,使处理诸如按照规程审核检验结果、取消检验项目、分析、处理存在重大疑问的检验结果、执行特殊的命令和处理质量控制等问题更轻松自如,这将使检验人员更快地获得准确清晰的检验结果。为临床医护人员提供在线设施,使他们可以及时准确地获得相关实验室信息。确保检验结果的可靠性和准确性,利用实验室管理信息系统的仪器监控和质量控制,
45 0
|
5月前
|
存储 Java 编译器
C# 变量与参数详解
C# 变量与参数详解
|
5月前
|
图形学
【推荐100个unity插件之19】武器拖尾特效插件——Pocket RPG Weapon Trails(2d 3d通用)
【推荐100个unity插件之19】武器拖尾特效插件——Pocket RPG Weapon Trails(2d 3d通用)
99 0
|
5月前
|
图形学
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)(下)
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)(下)
83 0