【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()

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

相关文章
|
3月前
|
存储 C# 索引
C# 一分钟浅谈:变量与数据类型简介
【9月更文挑战第1天】在 C# 编程中,了解变量与数据类型至关重要。本文详细介绍了 C# 中的值类型(如整数、浮点数、布尔值等)和引用类型(如类、接口、数组、字符串)。通过示例代码展示了变量的声明与使用方法,并针对数据类型转换错误、变量未初始化及数值溢出等常见问题提供了解决方案。正确选择数据类型不仅能提升程序性能,还可避免潜在错误,有助于编写高质量代码。
136 47
|
24天前
|
开发框架 .NET API
以C#一分钟浅谈:GraphQL 数据类型与查询
本文从C#开发者的角度介绍了GraphQL的基本概念、核心组件及其实现方法。GraphQL由Facebook开发,允许客户端精确请求所需数据,提高应用性能。文章详细讲解了如何在C#中使用`GraphQL.NET`库创建Schema、配置ASP.NET Core,并讨论了GraphQL的数据类型及常见问题与解决方案。通过本文,C#开发者可以更好地理解并应用GraphQL,构建高效、灵活的API。
98 64
|
21天前
|
开发框架 .NET 测试技术
C# 一分钟浅谈:GraphQL 数据类型与查询
本文介绍了GraphQL的基本概念、数据类型及查询方法,重点从C#角度探讨了GraphQL的应用。通过Hot Chocolate库的实例,展示了如何在ASP.NET Core中实现GraphQL API,包括安装、定义Schema、配置及运行项目。文中还讨论了常见问题与解决方案,旨在帮助开发者更好地理解和使用GraphQL。
24 2
|
1月前
|
设计模式 C# 图形学
Unity 游戏引擎 C# 编程:一分钟浅谈
本文介绍了在 Unity 游戏开发中使用 C# 的基础知识和常见问题。从 `MonoBehavior` 类的基础用法,到变量和属性的管理,再到空引用异常、资源管理和性能优化等常见问题的解决方法。文章还探讨了单例模式、事件系统和数据持久化等高级话题,旨在帮助开发者避免常见错误,提升游戏开发效率。
51 4
|
5月前
|
存储 Oracle 关系型数据库
PACS源码,C#语言数字医学影像系统成品源码
**数字医学影像系统(RIS/PACS)**采用C#开发,基于C/S架构,配Oracle数据库,具备自主版权,适用于项目实施。系统包含分诊、超声、放射、内镜、病理等工作站,支持基本信息维护、报表查询和系统维护。功能亮点有:WorkList管理、影像采集传输、存储检索、图像处理、多序列浏览、流程控制、报告录入与审核、支持多种影像设备及高级影像处理。RIS与PACS数据库同步,并集成HIS、电子病历等系统接口。全面遵循DICOM3.0标准。
PACS源码,C#语言数字医学影像系统成品源码
|
4月前
|
图形学 C# 开发者
全面掌握Unity游戏开发核心技术:C#脚本编程从入门到精通——详解生命周期方法、事件处理与面向对象设计,助你打造高效稳定的互动娱乐体验
【8月更文挑战第31天】Unity 是一款强大的游戏开发平台,支持多种编程语言,其中 C# 最为常用。本文介绍 C# 在 Unity 中的应用,涵盖脚本生命周期、常用函数、事件处理及面向对象编程等核心概念。通过具体示例,展示如何编写有效的 C# 脚本,包括 Start、Update 和 LateUpdate 等生命周期方法,以及碰撞检测和类继承等高级技巧,帮助开发者掌握 Unity 脚本编程基础,提升游戏开发效率。
102 0
|
5月前
|
BI 数据处理
一体化的医学实验室信息系统源码,C#LIS系统源码
面向医学实验室的一体化平台提供标本流程管理、报告发布及科室管理支持。它与HIS无缝对接,简化患者信息录入,实现检验结果实时同步。系统自动处理数据、分类样本、计算参考范围,并对异常结果预警。条码管理简化样本追踪,质控管理提升检测准确性。平台还支持数据审核发布、历史结果查询对比、灵活报表打印及统计分析等功能,辅助科室管理和试剂库存控制,加强科室间沟通协作。
一体化的医学实验室信息系统源码,C#LIS系统源码
|
4月前
|
传感器 开发框架 JSON
聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例
聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例
202 0
|
4月前
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
|
4月前
|
Java C#
C# 和 java 基本数据类型
C# 和 java 基本数据类型
26 0
下一篇
DataWorks