Unity_Learning_02_c#_1_23

本文深入探讨了C#编程的基础概念与高级特性,包括.NET、Mono、Unity的关系,程序运行原理,C#的命名规则,调试技巧,源代码到机器码的编译过程,数据类型区别,参数类型详解,字符串操作,StringBuilder类的应用,拆装箱概念,以及枚举的使用方法。

1 .NET Mono Unity 三者关系
.NET 微软的多语言开发平台
Mono 在其他系统(非win)下开发.NET程序框架
Unity 借助Mono实现跨平台开发
2 程序运行于内存(栈和堆)中,程序处理数据。
3 C#中的命名规则:变量:类型前缀(视情况有无)+除第一个字母外的单词大写
4 调试方法:1.可能错误前设置断点 2.F5 执行至断点前3.F11单步执行 4.Shift + F5
5 源代码(.cs文件) —— CLS编译 —— 通用中间语言(.exe .dll)—— CLR —— 机器码
common language standard 实现跨语言
common language runtime 托管运行环境
6 关键字params的作用
参数数组,处于参数列表的最后,两种参数传递方式
适用于一组数目可变、类型相同的参数
7 简单的排序方法实现(冒泡排序法,选择排序法)
8 数组提供的方法
很多放在Array. 中
9 二维数组 int[,]
10 交错数组 int[][]
交错数组的元素是一维数组
11 数据类型(大数据一般用引用类型,小数据用值类型,这样安排的优点在于读取快)
值类型:存储数据
引用类型:存储引用
两者的比较方式:值类型比较数据,引用类型比较引用(string比较数据)
12 参数类型
值参数:传递数据,不影响原数据
引用参数:传递数据的引用
输出参数:传递数据的引用,声明时可不赋值,函数/方法中必须赋值。(适用于多个返回结果)
13 string类型的操作
1 截取子串 Substring
2 比较字符串 Compare CompareTo CompareOrdinary Equals ==
Equals/==均是对数据的比较而不是 引用
3 插入子串 Insert
4 移出子串 Remove
5 替换子串 Replace
6 去空格 Trim TrimStart TrimEnd
7 转换/判断大小写 ToUpper ToLow IsUpper IsLower
8 字符串长度 len=str.Lengths(属性)
9 查找子串 IndexOf LastIndexOf 返回索引
10 拆分字符串 Split
11 判断开头 StartsWith
12 寻找内容 Contains
字符串常量池:用于优化内存
14 StringBulider类
适用于当要进行大规模的字符替换与调整操作时,使用字符串来操作将严重影响性能。在这中情况下就可以用System.Text.StringBuilder类。
   StringBuilder类并没有String 类的功能强大,只提供基本的替换和添加和删除字符串中的文本,但它的工作效率非常高,当定义StringBuilder对象时可以指定内存的内存容量,如果不指定系统就会根据对象初始化时的字符串长度来确定。它有两个主要参数Length和Capacity分别表示字符串的实际长度和字符串占据的内存空间 长度。对字符串的修改就是在这个内存中进行的,大大提高了添加和替换的的效率。
  sb.Append()——给当前字符串追加字符串。
sb.AppendFormat()——添加特定格式的字符串
sb.Insert()——插入一个子字符串
sb.Remove()——从当前字符串删除字符
sb.Replace()——替换字符串中指定的字符
sb.ToString()——将sb转化为String 对象
   
14 拆装箱的概念(装拆箱其实就是值类型和引用类型两者之间的类型转换操作)尽量减少拆装箱
数据从值类型转换为引用类型的过程被称为“装箱”,而从引用类型转换为值类型的过程则被成为“拆箱”。
装箱就是值类型到 object 类型或者到该值类型所实现的接口类型的一个隐式转换过程。
拆箱是从 object 类型到值类型,或从接口类型到实现该接口的值类型的显式转换的一个过程。
15 枚举
优点:增强代码可读性,限定取值 范围
适用性:多种选择的情况(与switch-case搭配)
操作步骤:1.[Flags] 2.为枚举成员赋值2的幂次 3.多个枚举成员用或运算“”|“” 4. (值&枚举成员)==枚举成员判断是否有该成员。
可以进行类型转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值