C# - 字串:初學者指南

您好,有志於成為程序員的各位!今天,我們將要深入探索C#中字串的奇妙世界。別擔心如果你之前從未寫過一行代碼——我將會是你的友好導遊,帶領你走過這段旅程。讓我們開始吧!

C# - Strings

什麼是字串?

在我們進入詳細內容之前,讓我們先了解什麼是字串。在編程中,字串就是一串字符。它可能是一個單詞、一個句子,甚至是整個段落。把它想像成由字母、數字或符號串在一起的“字串”。

創建字串物件

在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