首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 核心集合與字串操作速查筆記(進階篇)

     編輯:關於C語言

前言

本文整理 C# 常用集合類別(Queue、Stack、Dictionary/Hashtable)與字串處理(String、StringBuilder、Regex)的核心成員與用法,適合作為開發時的快速參考卡。

一、佇列

方法說明
Enqueue(T)將物件加入佇列尾端
Dequeue()移除並回傳佇列開頭物件
Peek()檢視佇列開頭物件不移除

二、堆疊

方法說明
Push(T)壓入堆疊頂端
Pop()移除並回傳堆疊頂端物件
Peek()檢視堆疊頂端物件不移除
Count取得元素數量(屬性,非方法)
Clear()移除所有元素
CopyTo(Array, int)複製到陣列指定位置

三、字典 / 雜湊表

成員說明
Keys取得所有鍵的集合
Values取得所有值的集合
Count元素數量
Clear()清空
Contains(key)是否包含指定鍵
ContainsKey(key)同 Contains(語意更清晰)
this[key]索引器:取得/設定值
Add(key, value)新增鍵值對
GetEnumerator()回傳迭代器
建議:新專案優先使用泛型 Dictionary<TKey, TValue>,效能與型別安全優於 Hashtable。

四、字串核心操作

1. 靜態方法

string.Compare(s1, s2)           // 區分大小寫比較
string.Compare(s1, s2, true)       // 不區分大小寫
string.Concat(s1, s2)              // 串接
string.Format("{0:C}", 1234.5)     // 格式化

2. 實例方法

s.ToLower() / s.ToUpper()          // 大小寫轉換
s.Trim()                           // 移除首尾空白
s.Substring(start, length)         // 取子字串
s.IndexOf("substr")                // 首次出現位置
s.LastIndexOf("substr")            // 最後出現位置
s.StartsWith("prefix")             // 是否以...開頭
s.EndsWith("suffix")               // 是否以...結尾
s.Replace("old", "new")            // 取代
s.Split(new char[] { ',', ' ' })   // 分割
s.Insert(index, "str")             // 插入
s.PadLeft(10, '0')                 // 左補字元
s.Remove(start, count)             // 移除

3. 字串比較最佳實踐

// 推薦:明確指定比較規則
s1.Equals(s2, StringComparison.OrdinalIgnoreCase)
// 不推薦:s1 == s2(預設 Ordinal,但語意不明確)

五、逐字字串與複製

string path = @"C:\Data\Test";  // @ 前綴:不轉義反斜線
string copy = string.Copy(original); // 深層複製
string alias = original;               // 參考複製

六、StringBuilder:高效字串建構

var sb = new StringBuilder();
sb.Append("Hello");
sb.AppendLine(" World");
sb.AppendFormat("Count: {0}", 42);
string result = sb.ToString();
  • 適用於大量串接或迴圈中累加字串
  • 內部維護字元緩衝區,避免頻繁配置記憶體

七、正則表達式基礎

using System.Text.RegularExpressions;

var regex = new Regex(@"\d{3}-\d{4}"); // 編譯模式
Match m = regex.Match("Tel: 02-1234567");
if (m.Success) Console.WriteLine(m.Value); // 02-1234

// 分割字串
string[] parts = regex.Split("A1B2C3"); // 依數字分割

總結

熟練掌握集合與字串 API,能大幅減少樣板程式碼並提升效能。建議將本筆記加入書籤,遇到「如何分割字串?」、「Dictionary 如何安全取值?」等問題時快速查閱。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved