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], . ...
随机推荐
- window安装nginx,并解决前端跨域问题
window 安装 nginx 流程 第一步:下载nginx http://nginx.org/en/download.html 第二步:下载完成后,解压到指定目录文件,启动nginx 进入nginx ...
- redis 简单安装
参考官网,安装步骤基本照搬redis官网,其他只做简单说明https://redis.io/download/https://redis.io/docs/getting-started/install ...
- redis部署集群时出现的问题(redis 版本 6.2.5)
配置 redis 集群时(redis 版本 6.2.5),我使用了同一个 server 端运行3个不同的配置文件. 配置文件中只修改了端口号并打开了 cluster-enable. 脚本运行后什么提示 ...
- Navicat连接Mysql报错:Client does not support authentication protocol requested by server(转载)
Navicat连接MySQL Server8.0版本时出现Client does not support authentication protocol requested by server:解决 ...
- python-文件内容操作
1.按文件中数据的组织形式把文件分为文本文件和二进制文件两类. 文本文件:文本文件存储的是常规字符串,由若干文本行组成,通常每行以换行符'\n'结尾.常规字符串是指记事本或其他文本编辑器能正常显示.编 ...
- HashMap中的Entry接口
利用Entry接口,快速又方便 import java.util.HashMap; import java.util.Map; public class MapDemo { public static ...
- DNS服务学习笔记
1.基本概念 DNS(Domain Name System)域名系统,在TCP/IP网络中有非常重要的地位,能够提供域名与IP地址的解析服务. DNS是一个分布式数据库,命名系统采用层次的逻辑 ...
- Rfost的自我介绍+软工五问
自我介绍+软工五问 问题 解答 这个作业属于哪个课程 网工1934-软件工程 这个作业要求在哪里 作业要求 这个作业的目标 让学生对软件工程有个初步的了解,同时掌握基础的markdown语法和博客园的 ...
- 关于SSD硬盘
2月份,看到Netac的SSD硬盘便宜,入手一个720G的,把原来的三星250G换掉,有时感觉机器会卡,一直没注意,最近更新一个英睿达的MX系列500G放电脑里用,毕竟杂牌做主硬盘不放心.就把Neta ...
- 磊磊零基础打卡算法:day19 c++字符串hash
5.22 字符串hash: 字符哈希串的意思 其实就是将字符串的前缀转换为数来存值由于每位的权值是不一样的 所以每个前缀值都对应着唯一的一种字符串: 主要用途:字符串/数据的比较,是kmp的一种替代: ...