Unity学习笔记02 —— C#语法
C#语法
控制台 Console
Console.WriteLine();
Console.ReadLine();
随机数 Random
Random random = new Random();
random.Next();
变量
变量类型 变量名
- int
- float
- char
- string
- bool
- var 推断类型
数据类型转换
- .Parse();
- .ToString();
- 隐式转换
- 显示转换
方法
private static void Func() {}
数组
//声明赋值
int[] arr = new int[]{0,1};
Array arr = new int[]{0,1};
int[] arr = {0,1};
//二维数组
int[,] arr = new int[2,2];
//数组遍历
foreach (int i in arr) {}
//长度
arr.Length
//清除
Array.Clear
//复制
Array.copy
arr.CopyTo
//查找
Array.IndexOf
Array.LastIndexOf
//排序
Array.Sort
//反转
Array.Reverse
//克隆
arr.Clone
参数
- 值参数 传递信息
int a = 1;
Fun(a);
private static void Fun(int a){}
- 引用参数ref 改变数据
int a = 1;
Fun(ref a);
private static void Fun(ref int a){}
- 输出参数out 返回结果
int a;
Fun(out a);
private static void Fun(out int a){
a=2;
}
拆装箱
装箱box
值类型隐式转换为object类型或由此值类型实现的任何接口类型的过程。
内部机制:
1.在堆中开辟内存空间
2.将值类型的数据复制到堆中
3.返回堆中新分配对象的地址
拆箱unbox
从object类型到值类型或从接口类型到实现该接口的值类型的显式转换。
内部机制:
1.判断给定类型是否是装箱时的类型
2.返回已装箱实例中属于原值类型字段的地址
注意:
- 拆箱后的类型必须与装箱时的类型相同。
- 伴随拆箱的字段复制步骤不属于拆箱过程。
- 装箱和拆箱不是互逆的过程,装箱的性能开销远大于拆箱。
String
特性
- 字符串常量具备字符串池特性
字符串常量在创建前,首先在字符串池中查找是否存在相同文本。如果存在,则直接返回该对象引用;如果不存在,则开辟空间存储。
目的:提高内存利用率。
- 字符串具有不可变性
字符串常量一旦进入内存,就不得再次改变。因为如果在原位置改变会使其他对象内存被破坏,导致内存泄漏。当遇到字符串变量引用新值时,会在内存中新建一个字符串,将该字符串地址交由该变量引用。
StringBuilder
可变字符串,一次开辟可以容纳n个字符大小的空间
优点:可以在原有空间修改字符串,避免产生垃圾
适用性:频繁对字符串操作
StringBuilder builder = new StringBuilder();
build.Append();
build.Insert();
build.Replace();
build.Remove();
build.ToString();
Unity学习笔记02 —— C#语法的更多相关文章
- 软件测试之loadrunner学习笔记-02集合点
loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...
- 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)
机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...
- OpenCV 学习笔记 02 使用opencv处理图像
1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...
- python3.4学习笔记(一) 基本语法 python3不向下兼容,有些语法跟python2.x不一样
python3.4学习笔记(一) 基本语法 python3不向下兼容,有些语法跟python2.x不一样,IDLE shell编辑器,快捷键:ALT+p,上一个历史输入内容,ALT+n 下一个历史输入 ...
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
ASP.NET MVC 学习笔记-2.Razor语法 1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...
- 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性
基于.net的分布式系统限流组件 在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...
- Java学习笔记之---基础语法
Java学习笔记之---基础语法 一. Java中的命名规范 (一)包名 由多个单词组成时,所有字母小写(例如:onetwo) (二)类名和接口 由多个单词组成时,所有单词首字母大写(例如:OneTw ...
- SaToken学习笔记-02
SaToken学习笔记-02 如果排版有问题,请点击:传送门 常用的登录有关的方法 - StpUtil.logout() 作用为:当前会话注销登录 调用此方法,其实做了哪些操作呢,我们来一起看一下源码 ...
- Redis:学习笔记-02
Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...
- CUBRID学习笔记 41 sql语法之select
cubrid的中sql查询语法 SELECT [ ] [{TO | INTO} ][FROM ] [WHERE ][GROUP BY {col_name | expr} [ASC | DESC], . ...
随机推荐
- Vue router前端路由配置以及实现tab切换
vue router 安装:npm install vue-router或cnpm install vue-router或yarn add vue-router. 安装完成之后会在package.js ...
- 字典方法 setdefault()、pprint;迭代、递归的区别
计算一个字符串中每个字符出现的次数 import pprint message = 'It was a bright cold day in April, ' \ 'and the clocks we ...
- C语言初级阶段5——函数2
C语言初级阶段5--函数2 址传递 1.地址:在定义变量,数组,函数等等,系统会自动给分配他们的内存区域(地址),把这个数据放到这个地址上面. 2.&:&a 得到a的地址编号 3.*: ...
- windows-git-tagslist
windows平台使用 Git-bash + vim + Taglist + ctags + cscope 安装Git for win版 安装ctags for win版,目录添加到环境变量 下载 T ...
- cpu的调度
什么是cpu的调度 所谓 CPU 调度,就是确定把哪个处于淮备就绪状态的进程移入运行状态.也就是说,CPU调度算法将决定把 CPU 给予哪个进程,以便它能够运行. 两种调度方式 CPU 调度可以是在一 ...
- C语言 (数据结构)在顺序表中用二分查找和冒泡排序算法
main.c: #include <stdio.h> #include <stdlib.h> #include "SequenceList.h" int m ...
- 【帆吖】Java学习零基础21
数组 1 package array; 2 3 public class Demo1 { 4 public static void main(String[] args) { 5 int[ ] num ...
- 英码科技边缘计算智慧工地解决方案——给工地戴上AI“安全帽”
据统计显示,2021年全国共发生房屋市政工程生产安全事故734起,死亡840人:且近3年来,工地事故数量.死亡人数连续攀升.这不仅仅是一个普通的数字,每个数字都代表一个独特.鲜活的生命.为什么每年会发 ...
- Unity检测鼠标是否与UI交互
在Unity项目中,假设在鼠标按键时会触发游戏内的操作,但是在鼠标与UI进行交互时我们希望停止游戏中的操作,这是需要使用EventSystem中的方法来检测鼠标是否正在与UI交互 private bo ...
- [复现]陇原战"疫"2021网络安全大赛-PWN
bbbaby 控制__stack_chk_fail,栈溢出 from pwn import * context.os = 'linux' context.log_level = "debug ...