## **字符串類型**
| 類型 | 描述 |
| --- | --- |
| 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中如何查找腳本掛載在哪個物體上