找回密码
 立即注册
查看: 563|回复: 0

[笔记] Unity入门 | C#脚本基础知识(一)

[复制链接]
发表于 2020-12-21 10:44 | 显示全部楼层 |阅读模式
前言
Unity 3D 脚本用来界定用户在游戏中的行为,是游戏制作中不可或缺的一部分,它能实现各个文本的数据交互并监控游戏运行状态。
Unity 3D 主要支持 3 种语言:C#、UnityScript(也就是 JavaScript for Unity)以及 Boo。但是选择 UnityScript和Boo 作为开发语言的使用者非常少,而 Unity 公司还需要投入大量的资源来支持它,这显然非常浪费。所以在 Unity 5.0 后,Unity 公司放弃对 Boo 的技术支持。大多数开发人员更倾向于使用的编程语言是C#。C#被全球数百万开发人员用于应用程序,Web和游戏开发,并且有大量的信息和教程可以帮助你。


正文

本系列将系统的讲解C#编程,为学习C#打基础。
VS中文件的组成
Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台


· .cs结尾的文件,都是类文件
· .sln结尾是解决方案的文件
· .csproj 项目文件,里面包含了这个项目的信息,可以双击运行

类文件中的组成
上图中的代码输出:Hello World!
· Using:引用命名空间
· Namespace:项目的命名空间
· Class Program:类名
· Main:Main函数是程序的主入口,程序的执行范围, 每个C#程序中必须有一个类带有Main函数。


类型

类型是一种模板
C#程序就是一组类型声明,学习C#就是学习如何创建和使用类型。我们可以把类型想象成一个用来创建数据结构的模板。模板本身并不是数据结构,但它详细说明了由该模板构造的对象的特征。
类型由下面的元素定义:
· 名称
· 用于保存数据成员的数据结构
· 一些行为及约束条件


实例化类型
从某个类型模板创建实际的对象,称为实例化该类型。
通过实例化类型面创建的对象被称为类型的对象或类型的实例。
在C#程序中,每个数据项都是某种类型的实例。这些类型可以是语言自带的,可以是BCL或其他库提供的,也可以是程序员定义的。


预定义类型

C#提供了16种预定义类型,其中包括13种简单类型和3种非简单类型。所以预定义类型的名称都由全小写字母组成。
预定义的简单类型包括以下3种:
1. 11种数值类型·
  (1). 不同长度的有符号和无符号整数类型:sbyte、byte、short、ushort、int、uint、long
  (2). 浮点数类型float和double
  (3). 高精度小数类型decimal,可以精确的表示分数,常用于货币计算
2. 一种Unicode字符类型char
3. 一种布尔类型bool,bool类型表示布尔值并且必须为true或false。
3种非简单类型:
· string,它是一个Unicode字符数组;
· object,所有其他类型的基类;
· dynamic,使用动态语言编写的程序集时使用
用户定义类型
除了C#提供的16种预定义类型,还有6种类型可以由用户自己创建:
· 类类型(class)
· 结构类型(struct)
· 数组类型(array)
· 枚举类型(enum)
· 委托类型(delegate)
· 接口类型(interface)


存储
栈和堆
程序运行时,它的数据必须存储在内存中。一个数据项需要多大的内存,存储在什么地方以及如何存储都依赖于它的类型。运行中的程序使用两个内存区域来存储数据:栈和堆。

栈是一个内存数组,是一个先进后出的数据结构。
栈存储以下种类型的数据:
· 某些类型变量的值
· 程序当前的执行环境
· 传递给方法的参数
作为程序员,了解栈的基本功能可以更好的了解程序在运行时正在做什么,并能更好的学习C#。


栈的特征
· 数据只能从栈的顶端插入和删除
· 把数据放到栈顶称为入栈(push)
· 从栈顶删除数据称为出栈(pop)
入栈和出栈



堆是一块内存区域,在堆里可以分配大块内存用于存储某类型的数据对象。与栈不同,堆里的内存能够以任意顺序存入或移除。
内存堆


值类型和引用类型
类型被分为两种:值类型和引用类型,这两种类型的对象在内存中的存储方式不同。
· 值类型只需要一段单独的内存,用于存储实际的数据
· 引用类型需要两段内存:第一段存储实际的数据,位于堆中;第二段是一个引用,指向数据在堆中的存放位置。
值类型的数据存放在栈里,引用类型的实际数据存放在堆而引用(指针)存放在栈里。


非数据成员的存储


值类型和引用类型的分类


变量
变量是程序执行时存储在内存中的数据。
变量在使用前必须声明,变量声明定义了变量并完成两件事
· 给变量命名,并为它关联一种类型;
· 为它在内存中开辟了一块空间;



变量的声明
// 声明名称为var1的变量
int var1; // 类型 值
// 变量初使化语句
int var2 = 17; // 初使值
// 多变量声明
int var3 = 7,var4,var5 = 3; //有的被初使化,有的未被初使化
double var6,var7 = 6.52;
C#中的四种变量
· 本地变量:在方法的作用域保存临时数据,不是类的成员
· 字段:保存和类型或类型实例相关的数据,是类的成员
· 参数:用于一个方法到另一个方法传递数据的临时变量,不是类的成员
· 数组元素:同类数据项构成的有序集合的一个成员,可以是本地变量,也可以是类型的成员。


未完待续...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-20 06:29 , Processed in 0.099587 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表