## **字符串类型**
| 类型 | 描述 |
| --- | --- |
| string| 2字节,使用双引号包裹 |
字符串(String)类型是 System.String 类的别名。它是从对象(Object)类型派生的
~~~
String name= "dash";
~~~
可以在字符串前加@,将转义符`\`当做普通字符串
~~~
string str = @"<script type=""text/javascript"">
<!--
-->
</script>";
~~~
## **连接多个字符串(+)**
```
string s1="hello"
string s2="world";
string s=s1+" "+s2;
```
## **比较字符串:**
```
string s1="hello";
string s2="hello";
Console.WriteLine((s1==s2));//false
Console.WriteLine(String.Compare(s1,s2,true));//0 最后参数为true则忽略大小写 相等返回0 s1>s2返回1 s1<s2返回-1
Console.WriteLine(s1.CompareTo(s2));// 相等返回0 s1>s2返回1 s1<s2返回-1
Console.WriteLine(s1.Equals(s2));//false
Console.WriteLine(String.Equals(s1,s2));//false
```
## **格式化字符串**
```
string s1="hello";
string s2="world";
String.Format("第一个占位符输出内容为:{0},第二个占位符输出内容为:{1}",s1,s2);
```
## **截取字符串**
```
//Substring(start,len)
string s1="ABCDE";
string s=s1.Substring(1,3);//"BCD"
```
## **分割字符串**
```
//Split(params char[] separator)
string s5= "@南国的^艳阳,北国的#雪$";
char[] separator = { '@', '^', ',', '#', '$' };
//申明一个char类型的数组并赋值
String[] splitstring = new String[100];//申明一个字符串数组
splitstring = s5.Split(separator);
for (int i=0; i < splitstring.Length; i++) {
Console.WriteLine("组{0}:{1}",i,splitstring[i]);
}
结果:
组0:
组1:南国的
组2:艳阳
组3:北国的
组4:雪
组5:
```
## **字符插入**
```
//Insert(startIndex, value )
string s6="亲爱的,我爱你";
string s7=s6.Insert(3,"小美女");
Console.WriteLine(s7);
```
## **字符填充**
```
//PadLeft("填充后的字符串总长度",'填充的字符')
string s8 = "ABC";
string s9=s8.PadLeft(5,'_');//向左填充第二个参数是cahr类型的不能呢用"
string s10 = s8.PadRight(5,'!');
Console.WriteLine(s9);//__ABC
Console.WriteLine(s10);//ABC!!
```
## **删除字符**
```
//Remove(startindex, [del_count])
string s11 = "ABCD1234";
string s12 = s11.Remove(4);//ABCD
string s13 = s11.Remove(4, 2);//ABCD34
```
## **字符串复制**
```
//克隆
string s14 = "abc";
string s15;
s15 = String.Copy(s14);
Console.WriteLine(s15);//abc
//部分复制
//s15.CopyTo(字符串复制的起始位置,要复制到的目标字符数组,指定目标字符数组存放的起始位置,指定复制的字符个数)
string s16 = "0123456789";
char[] charArr = new char[100];
s16.CopyTo(2, charArr, 0, 4);
Console.WriteLine(charArr);//2345
```
## **字符串替换**
```
string s17 = "亲爱的大美女,我爱你";
string s18 = s17.Replace("大美女", "小帅哥");//亲爱的小帅哥,我爱你
Console.WriteLine(s18);
string s19 = s17.Replace(",", "!");
Console.WriteLine(s19);//亲爱的大美女!我爱你
```
## **可变字符类**
```
using System;
using System.Text;
namespace ConsoleApp1
{
class Program
{
public static void Main(string[] args)
{
// 实例化前需要引入命名空间 using System.Text;
StringBuilder Str = new StringBuilder("用一生下载你", 100);
//追加到末尾 Append(append_value)
Str.Append(",网盘资源");
Console.WriteLine(Str);//用一生下载你,网盘资源
int num = 1000;
//按照指定格式追加到末尾
Str.AppendFormat("{0:C}", num);
Console.WriteLine(Str);//用一生下载你,网盘资源¥1,000.00
//追加到开头 Insert(start_index, append_value)
Str.Insert(0, "我");
Str.Insert(8, "百度");
Console.WriteLine(Str);//我用一生下载你,百度网盘资源¥1,000.00
//删除Remove(start_index,count)
Str.Remove(6, 1);//删除索引6以后的1个字符 将1改为Str.Length-5 则删除索引6以后的全部字符
Console.WriteLine(Str);//我用一生下载,百度网盘资源¥1,000.00
//替换Replace("需要替换的字符串","将被替换上去的字符串")
Str.Replace(",", "--");
Console.WriteLine(Str);//我用一生下载--百度网盘资源¥1--000.00
Console.ReadLine();
}
}
}
```
- C#
- 基础 System
- 命名规范
- 变量
- 数据类型
- 值类型
- 简单类型
- 整数类型
- 字符类型
- 浮点类型
- 布尔类型
- 枚举类型
- 结构体类型
- 引用类型
- 类类型
- 对象(Object)类型
- 字符串(String)类型
- 方法属性
- 动态(Dynamic)类型
- 数组类型
- 接口Interface
- 委托类型delegate
- 装箱和拆箱
- 指针类型
- 值类型与引用类型的区别
- Var类型
- 类型转换
- 隐式转换
- 显式转换
- 常量
- 常用函数
- 流程控制
- 循环
- 跳转语句
- 数组
- 数组查找
- 添加组元素
- 复制与克隆数组
- 删除数组元素
- 数组排序与反转
- 数组排序
- 冒泡排序
- 直接插入排序
- 选择排序法
- 数组对象
- 哈希表
- 其他
- 递归
- 属性与方法及方法重载
- 结构与类
- 类
- 构造函数与析构函数
- 继承
- 多态
- 泛型
- demo
- 汉字字符(串)比较
- 创建指定大小文件与读取大文件
- 小截屏软件功能
- 子窗体返回主窗体
- 判断是否为数字
- 获得字符串实际长度(包括中文字符)
- unity
- script脚本
- 脚本的生命周期
- 调试
- Unity Manual5.4
- Unity手册
- Working In Unity
- Unity 2D
- Graphics(图形)
- Physics(物理系统)
- Scripting(脚本)
- Multiplayer and Networking(多玩家和联网)
- Audio(音频)
- Animation(动画)
- UI
- Navigation and Pathfinding(导航和寻路)
- Unity Services(Unity服务)
- Virtual Reality(虚拟现实VR)
- Open-source repositories(开源代码库)
- Platform-specific(特定于平台的信息)
- Legacy Topics(旧版主题)
- Expert Guides(专家指南)
- 重要的类
- Object
- GameObject(重要)
- Component
- Transform(重要)
- Rigidbody
- ParticleSystem
- Behaviour
- Camera
- Animator
- AudioSource
- Animation
- AudioListener
- Light
- MonoBehaviour事件行为(重要)
- Terrain
- Collider
- Renderer
- Texture
- Mesh
- material
- Time
- Prefab预制件
- 功能demo
- 层级未知查找子物体
- 查找hp最小的敌人
- 查找最近的敌人
- 小项目之英雄无敌
- 界面操作
- Scene窗口
- Game窗口
- project窗口
- Hierarchy窗口
- 动画
- Animation重要API
- 2D
- Sprite(creator) Sprite Renderer
- Sprite Editor
- Sprite Packer(遗留功能)
- 排序组组件
- 切片精灵
- 精灵遮罩
- 精灵图集
- Tilemap
- 2D物理系统
- 全局设置(Project setting)
- 2D刚体(Rigidbody 2D)
- 碰撞(事件)消息
- 2D碰撞体(Collider 2D)
- 2D圆形碰撞体(Circle Collider 2D)
- 2D盒型碰撞体(BoxCollider 2D)
- 2D多边形碰撞体( Polygon Collider 2D)
- 2D边界碰撞体(EdgeCollider 2D)
- 2D胶囊碰撞体(CapsuleCollider 2D)
- 2D复合碰撞体(Composite Collider 2D)
- 2D物理材质(摩擦和弹性)(Physics Material 2D)
- 2D关节
- 2D距离关节(Distance Joint 2D)
- 2D固定关节(Fixed Joint 2D)
- 2D摩擦关节(Friction Joint 2D)
- 2D铰链关节(Hinge Joint 2D)
- 2D相对关节(Relative Joint 2D)
- 2D滑动关节(Slider Joint 2D)
- 2D弹簧关节(Spring Joint 2D)
- 2D目标关节(Target Joint 2D)
- 2D车轮关节(Wheel Joint 2D)
- 2D恒定力(Constant Force 2D)
- 2D 效应
- 2D区域效应(AreaEffector 2D)
- 2D浮力效应(BuoyancyEffector 2D)
- 2D点效应(PointEffector 2D)
- 2D平台效应(PlatformEffector 2D)
- 2D表面效应(SurfaceEffector 2D)
- 精灵动画
- 2D动画事件
- 重要类
- rigidbody2d
- 小窍门
- Unity中如何查找脚本挂载在哪个物体上