【C#入門超簡單】基本的.NET框架概念

StarYou發表於2024-06-15

一、基本的.NET框架概念

.NET框架是一個由微軟開發的軟體開發平臺,它提供了一個執行時環境(CLR - Common Language Runtime)和一套豐富的類庫(FCL - Framework Class Library)。CLR負責管理程式碼的執行,而FCL則提供了大量預先編寫好的程式碼,供開發者使用。

例子:

想象一下.NET框架是一個大型的超市,CLR是超市的收銀系統,確保每件商品(程式碼)都能正確結算(執行),而FCL就是超市裡的商品貨架,上面擺滿了各種商品(類和方法)供你選擇。

使用.NET類庫

.NET類庫是一組預先構建好的程式碼集合,它們封裝了常見的功能,使得開發者不必從頭開始編寫所有程式碼。

例子:

如果你需要進行數學運算,.NET類庫中有一個名為System.Math的類,它包含了各種數學函式,比如求平方根:

using System;

class Program
{
    static void Main()
    {
        double result = Math.Sqrt(16); // 使用Math類求平方根
        Console.WriteLine("The square root of 16 is: " + result);
    }
}

二、字串操作

在.NET中,字串操作是非常常見的任務,涉及到對文字資料的各種處理,比如搜尋、替換、分割等。字串在.NET中是透過System.String類來表示的,這個類提供了豐富的方法來進行各種操作。

1. 建立和連線字串

  • 建立字串:直接使用雙引號建立字串。
  • 連線字串:可以使用+運算子或者String.Concat方法來連線字串。
string name = "張三";  // 建立字串
string greeting = "你好, " + name + "!";  // 連線字串
Console.WriteLine(greeting);  // 輸出:你好, 張三!

2. 字串的基本操作

  • 長度:使用Length屬性獲取字串的長度。
  • 訪問字元:使用索引訪問字串中的單個字元。
string example = "Hello";
int length = example.Length;  // 獲取長度,結果為5
char firstChar = example[0];  // 獲取第一個字元,結果為'H'

3. 查詢和替換

  • 查詢子字串:使用IndexOf方法查詢子字串在主字串中的位置。
  • 替換內容:使用Replace方法替換字串中的內容。
string sentence = "我愛程式設計,程式設計使我快樂。";
int index = sentence.IndexOf("程式設計");  // 查詢"程式設計"的位置,結果為2
string newSentence = sentence.Replace("程式設計", "畫畫");  // 將"程式設計"替換為"畫畫"
Console.WriteLine(newSentence);  // 輸出:我愛畫畫,畫畫使我快樂。

4. 分割字串

  • 分割:使用Split方法根據指定的分隔符將字串分割成多個部分。
string fruits = "蘋果,香蕉,橘子";
string[] fruitArray = fruits.Split(',');  // 使用逗號分割字串
foreach (string fruit in fruitArray)
{
    Console.WriteLine(fruit);  // 依次輸出:蘋果 香蕉 橘子
}

5. 字串的修改

字串在.NET中是不可變的,意味著一旦建立,其內容就不能改變。如果需要修改字串,實際上是建立了一個新的字串物件。

string original = "Hello";
string modified = original + " World";  // 建立了一個新的字串"Hello World"
Console.WriteLine(modified);  // 輸出:Hello World

6. 格式化字串

  • 格式化:使用String.Format或插值字串來格式化字串。
int age = 30;
string formatted = String.Format("他的年齡是{0}歲。", age);  // 使用String.Format格式化
string interpolated = $"他的年齡是{age}歲。";  // 使用字串插值
Console.WriteLine(formatted);  // 輸出:他的年齡是30歲。
Console.WriteLine(interpolated);  // 輸出:他的年齡是30歲。

以上就是.NET中進行字串操作的一些基本方法和例子,字串操作是非常重要的一個知識點,這裡篇幅有限就不展開說了,下次專門開一篇講字串操作,先挖個坑,哈哈哈。

三、集合框架

在.NET中,集合框架是一組用於儲存和管理資料的類和介面。這些集合類幫助我們組織資料,使資料的新增、刪除、遍歷和搜尋等操作更加方便和高效。它包括列表(List)、字典(Dictionary)、佇列(Queue)、棧(Stack)等。

List

List是一個動態陣列,可以儲存任何型別的元素,並允許新增、刪除和訪問元素。

例子:

using System.Collections.Generic;

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; // 初始化List
numbers.Add(6); // 新增元素
int lastNumber = numbers[numbers.Count - 1]; // 訪問元素
numbers.RemoveAt(2); // 刪除特定位置的元素

Dictionary

Dictionary就像是一個電話簿,你可以用一個鍵(比如人名)來查詢對應的值(比如電話號碼)。

例子:

Dictionary<string, int> phoneBook = new Dictionary<string, int>();
phoneBook.Add("張三", 1234567890); // 新增鍵值對
int phoneNumber = phoneBook["張三"]; // 透過鍵獲取值
Console.WriteLine("張三的電話號碼是: " + phoneNumber);

3. HashSet(集)

HashSet<T>是一種不允許重複元素的集合,它可以用來快速檢查某個元素是否存在。

HashSet<string> uniqueNames = new HashSet<string>();  // 建立一個HashSet
uniqueNames.Add("張三");  // 新增元素
uniqueNames.Add("張三");  // 再次新增相同的元素,不會有任何效果

Console.WriteLine(uniqueNames.Count);  // 輸出元素的數量,結果為1

4. Queue(佇列)

Queue<T>是一種先進先出(FIFO)的集合。元素從佇列的一端新增,並從另一端移除。

Queue<string> line = new Queue<string>();  // 建立一個佇列
line.Enqueue("張三");  // 入隊
line.Enqueue("李四");

Console.WriteLine(line.Dequeue());  // 出隊並列印,輸出"張三"
Console.WriteLine(line.Dequeue());  // 再次出隊並列印,輸出"李四"

5. Stack(棧)

Stack<T>是一種後進先出(LIFO)的集合。元素從棧頂新增,並從棧頂移除。

Stack<string> books = new Stack<string>();  // 建立一個棧
books.Push("書籍1");  // 入棧
books.Push("書籍2");

Console.WriteLine(books.Pop());  // 出棧並列印,輸出"書籍2"
Console.WriteLine(books.Pop());  // 再次出棧並列印,輸出"書籍1"

以上就是.NET中常見的幾種集合型別的簡介和使用示例。透過這些集合類,你可以更有效地管理和運算元據集。

四、檔案和流操作

檔案操作是程式與檔案系統互動的一種方式,流(Stream)是.NET中用於讀寫資料的抽象概念。在.NET中,檔案操作主要涉及到讀取、寫入、建立和刪除檔案等操作。這些操作通常透過System.IO名稱空間中的類來實現,如FileFileInfoDirectoryDirectoryInfo等。

1. 寫入檔案

使用File.WriteAllText方法可以建立一個檔案,並向其中寫入文字。如果檔案已存在,這個方法會覆蓋原有內容。

// 寫入文字到檔案
string filePath = "example.txt";
string content = "Hello, this is a test file.";
File.WriteAllText(filePath, content);  // 建立檔案example.txt,並寫入指定的文字內容

2. 讀取檔案

使用File.ReadAllText方法可以讀取檔案的全部文字內容。

// 從檔案讀取文字
string readContent = File.ReadAllText(filePath);  // 讀取example.txt檔案的內容
Console.WriteLine(readContent);  // 輸出檔案內容

3. 追加文字到檔案

使用File.AppendAllText方法可以在檔案的末尾追加文字,而不是覆蓋原有內容。

// 追加文字到檔案
string additionalContent = " Here is some more text.";
File.AppendAllText(filePath, additionalContent);  // 在現有檔案內容後追加更多文字

4. 檢查檔案是否存在

使用File.Exists方法可以檢查指定路徑的檔案是否存在。

// 檢查檔案是否存在
bool fileExists = File.Exists(filePath);  // 檢查example.txt檔案是否存在
Console.WriteLine(fileExists ? "檔案存在。" : "檔案不存在。");

5. 刪除檔案

使用File.Delete方法可以刪除指定路徑的檔案。

// 刪除檔案
File.Delete(filePath);  // 刪除example.txt檔案

6. 使用StreamReader和StreamWriter

對於更復雜的檔案操作,如逐行讀取或寫入大量資料,可以使用StreamReaderStreamWriter

// 使用StreamWriter寫入檔案
using (StreamWriter writer = new StreamWriter("example.txt"))
{
    writer.WriteLine("第一行文字");
    writer.WriteLine("第二行文字");
}

// 使用StreamReader讀取檔案
using (StreamReader reader = new StreamReader("example.txt"))
{
    string line;
    while ((line = reader.ReadLine()) != null)  // 逐行讀取直到檔案末尾
    {
        Console.WriteLine(line);  // 輸出讀取的每一行
    }
}

以上就是.NET中進行檔案操作的一些基本方法和示例。透過這些方法,你可以輕鬆地在.NET應用程式中處理檔案的讀寫任務。

流操作還包括二進位制流(BinaryReader/BinaryWriter)、網路流(NetworkStream)等,用於不同型別的資料讀寫。

以上就是.NET框架的一些核心概念和操作。每個知識點都像是構建軟體大廈的一塊磚,理解並熟練使用它們,你就能構建出功能強大、結構清晰的應用程式。

相關文章