2026-04-18 C# list = new List() 這是什麼型別?
2026-04-18 C# list = new List() 這是什麼型別?
list = new List
好的,讓我們來深入了解 List
目錄
1. List
2. List
3. List
4. 如何使用 List
5. 與陣列(Arrays)的比較
6. 常見的方法與屬性
7. 小結
List
是什麼?
List是 C# 中一個非常常用的泛型集合類別,位於 System.Collections.Generic 命名空間下。它提供了一個動態大小的陣列,可以存儲任何類型的物件(由泛型參數 T 指定),並提供了豐富的方法來操作這些物件。
泛型(Generics) 允許你在定義類別、介面或方法時,指定一個或多個型別參數。這使得集合類別如 List能夠在保持類型安全的同時,靈活地處理不同的資料型別。 List
的型別解析
當你使用 List時,實際上是在使用 List 類別,並將泛型參數 T 指定為 string 型別。這意味著這個列表將專門用來存儲字串(string)類型的資料。
完整範例:
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
// 創建一個 List
List
// 添加元素到列表中
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Cherry");
// 遍歷並顯示列表中的元素
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
}
}
輸出:
Apple
Banana
Cherry
解析:
• List
• new List
• fruits.Add(“Apple”):向列表中添加一個元素。
List
的優點
List相較於傳統的陣列(Arrays),具有許多優點: - 動態大小:
◦ 陣列的大小在宣告時必須固定,而 List可以根據需要動態地增加或減少元素數量。 - 豐富的方法:
◦ List提供了許多方便的方法,如 Add、Remove、Insert、Contains、Find 等,讓資料的操作更為簡便。 - 類型安全:
◦ 由於使用泛型,List確保了列表中的所有元素都是相同的型別,避免了類型轉換錯誤。 - 性能優化:
◦ List在內部使用陣列實現,並會自動處理陣列的擴展,因此在性能上比手動管理動態陣列更高效。
- 動態大小:
如何使用 List
讓我們通過一些具體的例子來了解如何使用 List。
a. 創建與初始化
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
// 創建一個空的 List
List
// 使用初始化器創建並初始化 List<string>
List<string> countries = new List<string> { "USA", "Canada", "Mexico" };
}
}
b. 添加元素
cities.Add(“New York”);
cities.Add(“Los Angeles”);
cities.Add(“Chicago”);
c. 插入元素
// 在索引 1 處插入 “Houston”
cities.Insert(1, “Houston”);
d. 移除元素
// 移除第一個出現的 “Chicago”
cities.Remove(“Chicago”);
// 根據索引移除元素
cities.RemoveAt(0); // 移除 “New York”
e. 訪問元素
string firstCity = cities[0];
Console.WriteLine(firstCity); // 輸出 “Houston”
f. 檢查是否包含某個元素
bool hasLA = cities.Contains(“Los Angeles”);
Console.WriteLine(hasLA); // 輸出 True
g. 獲取列表的大小
int count = cities.Count;
Console.WriteLine(count); // 輸出列表中元素的數量
- 與陣列(Arrays)的比較
特性
陣列(Array)
List
大小
固定,宣告時指定大小
動態,能自動擴展或縮減
方法支持
基本的方法,如索引訪問
豐富的方法,如 Add、Remove 等
類型安全
是,尤其是使用泛型陣列
是,使用泛型確保元素類型一致
性能
高效,適合固定大小的資料
略低於陣列,但提供更多靈活性
使用情境
資料大小已知且不變
需要動態管理資料集合時
範例:
// 使用陣列
string[] arrayCities = new string[3] { “Paris”, “Berlin”, “Tokyo” };
// 使用 List
List
listCities.Add(“Sydney”); // 動態添加
- 常見的方法與屬性
以下是 List中一些常用的方法和屬性:
• 添加元素:
◦ Add(T item):在列表末尾添加一個元素。
◦ AddRange(IEnumerablecollection):添加一個集合中的所有元素。
• 移除元素:
◦ Remove(T item):移除第一個匹配的元素。
◦ RemoveAt(int index):根據索引移除元素。
◦ Clear():清空列表中的所有元素。
• 查詢與搜尋:
◦ Contains(T item):檢查列表中是否包含指定元素。
◦ IndexOf(T item):獲取元素的索引。
◦ Find(Predicatematch):找到第一個符合條件的元素。
◦ FindAll(Predicatematch):找到所有符合條件的元素。
• 排序與反轉:
◦ Sort():對列表中的元素進行排序。
◦ Reverse():反轉列表中元素的順序。
• 轉換與複製:
◦ ToArray():將列表轉換為陣列。
◦ CopyTo(T[] array, int arrayIndex):將元素複製到指定的陣列中。
範例:
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
List
// 添加元素
numbers.Add(10);
// 移除元素
numbers.Remove(3); // 移除值為 3 的元素
numbers.RemoveAt(0); // 移除索引 0 的元素
// 查詢
bool hasEight = numbers.Contains(8); // 返回 true
int index = numbers.IndexOf(8); // 返回 1
// 找到第一個大於 5 的數字
int firstGreaterThanFive = numbers.Find(x => x > 5);
// 排序
numbers.Sort();
// 反轉
numbers.Reverse();
// 輸出結果
foreach (int num in numbers)
{
Console.WriteLine(num);
}
}
}
輸出:
10
8
2
- 小結
• List是什麼:
◦ 一個泛型集合類別,允許存儲任意型別的物件,並提供豐富的方法來管理這些物件。
• List的特性:
◦ 專門用來存儲 string 類型的資料。
◦ 支持動態增減元素,類型安全,並提供各種便捷的方法來操作列表。
• 與陣列的比較:
◦ List更加靈活,適用於需要頻繁增減元素的情境,而陣列則適合大小固定且性能要求較高的場合。
• 常用方法與屬性:
◦ Add、Remove、Find、Sort 等方法使得 List在處理資料集合時非常方便。
了解並善用 List,可以讓你在 C# 中更高效地處理各種資料集合需求。如果你有更多關於 List 或其他 C# 集合類別的問題,請隨時告訴我!