助力快速掌握 C# String 字符串各種API函數用法 爲初學者節省寶貴的時間,避免採坑! |
我們的初衷是將一種簡單的生活方式帶給世人 使有限時間 具備無限可能 |
Chinar 教程效果:
string str = "a";
int res = str.CompareTo("b");
Console.WriteLine(res);
str = "b";
res = str.CompareTo("a");
Console.WriteLine(res);
str = "b";
res = str.CompareTo("a");
Console.WriteLine(res);
Console.WriteLine("_________________________________比較________________________________________");
str = "www.unity.kim";
string newReplace = str.Replace('.', '-'); //替換字符串中的某個字符/字符串:Replace(指定字符,替換字符)
Console.WriteLine(newReplace);
Console.WriteLine("___________________________________替換______________________________________");
string[] strings = str.Split('.'); //字符串拆分,用一個字符拆分現有字符串
foreach (var s in strings)
{
Console.WriteLine(s);
}
Console.WriteLine("__________________________________拆分_______________________________________");
1
Intro —— 簡介
日常程序開發中,最常用到的類,就有一個String類
專門的對字符串進行着各式各樣的處理
class Program
{
static void Main(string[] args)
{
/* CompareTo() 函數在字符串相等的時候,返回值爲:0
當兩個字符 ,比較的字符 str 中出現一個 與下邊不同的字符時,str的字母排序靠前,返回-1
否則返回1*/
string str = "a";
int res = str.CompareTo("b");
Console.WriteLine(res);
str = "b";
res = str.CompareTo("a");
Console.WriteLine(res);
str = "b";
res = str.CompareTo("a");
Console.WriteLine(res);
Console.WriteLine("_________________________________比較________________________________________");
str = "www.unity.kim";
string newReplace = str.Replace('.', '-'); //替換字符串中的某個字符/字符串:Replace(指定字符,替換字符)
Console.WriteLine(newReplace);
Console.WriteLine("___________________________________替換______________________________________");
string[] strings = str.Split('.'); //字符串拆分,用一個字符拆分現有字符串
foreach (var s in strings)
{
Console.WriteLine(s);
}
Console.WriteLine("__________________________________拆分_______________________________________");
string newSubstring = str.Substring(4, 5); //從str 中的第四個字符開始截取,然後截取長度爲5的字符
Console.WriteLine(newSubstring);
newSubstring = str.Substring(4); //如果不給長度,則直接到末端
Console.WriteLine(newSubstring);
Console.WriteLine("__________________________________從某個位置截取字符串_______________________________________");
string strUp = str.ToUpper(); //字符串轉大寫
Console.WriteLine(strUp);
var strLow = str.ToLower(); //字符串轉小寫
Console.WriteLine(strLow);
Console.WriteLine("__________________________________大小寫_______________________________________");
str = " www.unity.kim ";
string newTrim = str.Trim(); //刪除 字符串收尾空白處
Console.WriteLine(str);
Console.WriteLine(newTrim);
Console.WriteLine("__________________________________去首位空格_______________________________________");
int num = str.IndexOf("unidty"); //可以用來判斷是否包含一個子字符串,不包含返回-1,包含返回第一個字符在哪個位置的下標
Console.WriteLine(num);
Console.ReadLine();
}
}
2 Compare ―― 比較
將A和B進行比較
string.Compare(
A,B
)
建議常用: string.Comparestring.CompareOrdinal
//返回值:
// 1:大於
// 0:等於
//-1:小於
static void Main(string[] args)
{
string 變量1 = "abc";
string 變量2 = "ABC";
int 返回值1 = string.Compare(變量1, 變量2, true); //忽略大小寫
int 返回值2 = string.Compare(變量1, 變量2, StringComparison.Ordinal); //序號(二進制)排序規則
int 返回值3 = string.CompareOrdinal(變量1, 變量2); //序號(二進制)排序規則 - (常用)
Console.WriteLine(返回值1); // 0 相同
Console.WriteLine(返回值2); // 32 返回兩者相對位置
Console.WriteLine(返回值3); // 32 返回兩者相對位置
Console.ReadLine();
}
2 Copy ―― 複製
複製字符串對象,新建一個實例
,是新對象!二者內存地址不同
string.Copy(
字符串內容
)
建議常用: string.Comparestring.CompareOrdinal
static void Main(string[] args)
{
string 變量1 = "ABCDEF";
string 變量2 = string.Copy(變量1); //創建一個新實例
變量1 = "123456"; //改變變量1的值
Console.WriteLine($"變量1的值:{變量1}------內存地址:" + GetMemoryAddress(變量1)); //變量1的值改變,二者的地址不同
Console.WriteLine($"變量2的值:{變量2}------內存地址:" + GetMemoryAddress(變量2)); //變量2的值,依舊複製1的值。創建了一個新的內存
Console.WriteLine("-----------------------------------------------"); //變量2的值,依舊複製1的值。創建了一個新的內存
string source = "123456";
char[] chars = {'我', '愛', '我', '的', '祖', '國'};
//將變量1,拷貝到 Chars 中
//CopyTo(原字符串的起始位,目標字)
source.CopyTo(3, chars, 2, 1);
Console.WriteLine(chars);
Console.ReadLine();
}
/// <summary>
/// 獲取對象內存地址
/// </summary>
/// <param name="obj">對象</param>
/// <returns>內存地址</returns>
public static string GetMemoryAddress(object obj)
{
return GCHandle.Alloc(obj, GCHandleType.Pinned).AddrOfPinnedObject().ToString("X");
}
輸出結果
變量1的值:123456------內存地址:2FC22BC
變量2的值:ABCDEF------內存地址:2FC23BC
-----------------------------------------------
我愛4567
支持
May Be —— 開發者,總有一天要做的事!
Chinar 提供一站式《零》基礎教程 使有限時間 具備無限可能! |
Chinar 免費服務器、建站教程全攻略!( Chinar Blog )
本博客爲非營利性個人原創,除部分有明確署名的作品外,所刊登的所有作品的著作權均爲本人所擁有,本人保留所有法定權利。違者必究
對於需要複製、轉載、鏈接和傳播博客文章或內容的,請及時和本博主進行聯繫,留言,Email: [email protected]
對於經本博主明確授權和許可使用文章及內容的,使用時請註明文章或內容出處並註明網址