C# - 字串:初學者指南
您好,有志於成為程序員的各位!今天,我們將要深入探索C#中字串的奇妙世界。別擔心如果你之前從未寫過一行代碼——我將會是你的友好導遊,帶領你走過這段旅程。讓我們開始吧!
什麼是字串?
在我們進入詳細內容之前,讓我們先了解什麼是字串。在編程中,字串就是一串字符。它可能是一個單詞、一個句子,甚至是整個段落。把它想像成由字母、數字或符號串在一起的“字串”。
創建字串物件
在C#中,創建字串就像 pie 一樣簡單。讓我們看看幾種方法:
string問候 = "Hello, World!";
string名字 = "Alice";
string空字串 = "";
string空值字串 = null;
在這些例子中:
-
問候
是一個包含 "Hello, World!" 的字串 -
名字
是一個包含 "Alice" 的字串 -
空字串
是一個空字串(它存在但沒有任何字符) -
空值字串
是一個空值字串(它甚至不存在於記憶體中)
記住,C#中的字串是用雙引號括起的。如果你嘗試使用單引號,C#會認為你在談論一個單個字符,而不是字串。
字串類的屬性
C#中的字串帶有一些非常有用的內置屬性。讓我們探討一下:
Length
Length
屬性告訴我們字串中有多少個字符。
string訊息 = "Hello, C#!";
int長度 = 訊息.Length;
Console.WriteLine($"訊息有 {長度} 個字符。");
// 輸出:訊息有 9 個字符。
Empty 和 IsNullOrEmpty
有時候,我們需要檢查一個字串是否為空。C# 提供了一些方便的方法來做這件事:
string空字串 = "";
bool為空 = string.Empty == 空字串;
bool為空或為null = string.IsNullOrEmpty(空字串);
Console.WriteLine($"字串是否為空? {為空}");
Console.WriteLine($"字串是否為空或為null? {為空或為null}");
// 輸出:
// 字串是否為空? True
// 字串是否為空或為null? True
字串類的方法
現在,讓我們來到有趣的部分——字串方法!這些就像字串擁有的特殊能力,讓我們能夠以各種方式操作和分析它們。
ToUpper() 和 ToLower()
這些方法改變字串的大小寫:
string混合大小寫 = "HeLLo, WoRLd!";
string大寫 = 混合大小寫.ToUpper();
string小寫 = 混合大小寫.ToLower();
Console.WriteLine(大寫); // 輸出:HELLO, WORLD!
Console.WriteLine(小寫); // 輸出:hello, world!
Trim(), TrimStart(), 和 TrimEnd()
這些方法從字串中移除空白字符:
string填充字串 = " Hello, World! ";
string修剪後 = 填充字串.Trim();
string從開始修剪 = 填充字串.TrimStart();
string從結尾修剪 = 填充字串.TrimEnd();
Console.WriteLine($"修剪後:'{修剪後}'");
Console.WriteLine($"從開始修剪:'{從開始修剪}'");
Console.WriteLine($"從結尾修剪:'{從結尾修剪}'");
// 輸出:
// 修剪後: 'Hello, World!'
// 從開始修剪: 'Hello, World! '
// 從結尾修剪: ' Hello, World!'
Substring()
這個方法讓我們能夠提取字串的一部分:
string句子 = "The quick brown fox jumps over the lazy dog.";
string提取 = 句子.Substring(4, 5);
Console.WriteLine(提取); // 輸出:quick
IndexOf() 和 LastIndexOf()
這些方法幫助我們找到字符或子字串的位置:
string文本 = "Hello, Hello, Hello";
int第一次出現的位置 = 文本.IndexOf("Hello");
int最後一次出現的位置 = 文本.LastIndexOf("Hello");
Console.WriteLine($"第一次 'Hello' 的位置:{第一次出現的位置}");
Console.WriteLine($"最後一次 'Hello' 的位置:{最後一次出現的位置}");
// 輸出:
// 第一次 'Hello' 的位置:0
// 最後一次 'Hello' 的位置:14
Replace()
這個方法替換指定的字串:
string原始 = "I like apples, apples are my favorite fruit.";
string替換後 = 原始.Replace("apples", "oranges");
Console.WriteLine(替換後);
// 輸出:I like oranges, oranges are my favorite fruit.
這裡有一個總結這些方法的表格:
方法 | 描述 |
---|---|
ToUpper() | 將所有字符轉換為大寫 |
ToLower() | 將所有字符轉換為小寫 |
Trim() | 從兩端移除空白字符 |
TrimStart() | 從開始移除空白字符 |
TrimEnd() | 從結尾移除空白字符 |
Substring() | 提取字串的一部分 |
IndexOf() | 找到子字串的第一次出現 |
LastIndexOf() | 找到子字串的最後一次出現 |
Replace() | 替換所有指定的字串 |
方法實戰
現在我們已經學習了這些字串屬性和方法,讓我們在實際例子中應用它們:
string用戶輸入 = " JoHn DoE ";
// 清理和標準化輸入
string清理後的名字 = 用戶輸入.Trim().ToLower();
// 將每個單詞的第一個字母大寫
string[]名字部分 = 清理後的名字.Split(' ');
for (int i = 0; i < 名字部分.Length; i++)
{
if (!string.IsNullOrEmpty(名字部分[i]))
{
名字部分[i] = char.ToUpper(名字部分[i][0]) + 名字部分[i].Substring(1);
}
}
string格式化後的名字 = string.Join(" ", 名字部分);
Console.WriteLine($"原始輸入:'{用戶輸入}'");
Console.WriteLine($"格式化後的名字:'{格式化後的名字}'");
// 輸出:
// 原始輸入:' JoHn DoE '
// 格式化後的名字:'John Doe'
在這個例子中,我們處理了一個亂七八糟的用戶輸入,修剪了空白,轉換為小寫,然後將每個單詞的第一個字母大寫。這是在許多應用程序中,如表單處理或數據清理中常見的任務。
結論
恭喜你!你剛剛踏出了進入C#字串世界的第一步。我們已經介紹了如何創建字串、使用它們的屬性,以及應用各種方法來操作它們。記住,熟能生巧,所以不要猶豫在自 己的代碼中嘗試這些概念。
字串是編程中最常見的數據類型之一,掌握它們將為你的編程之旅奠定堅實的基礎。繼續探索,繼續編程,最重要的是,享受其中的樂趣!
祝編程愉快,未來的C#大師!
Credits: Image by storyset