一、基本的.NET框架概念 .NET框架是一個由微軟開發的軟體開發平臺,它提供了一個運行時環境(CLR - Common Language Runtime)和一套豐富的類庫(FCL - Framework Class Library)。CLR負責管理代碼的執行,而FCL則提供了大量預先編寫好的代碼, ...
一、基本的.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
命名空間中的類來實現,如File
、FileInfo
、Directory
、DirectoryInfo
等。
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
對於更複雜的文件操作,如逐行讀取或寫入大量數據,可以使用StreamReader
和StreamWriter
。
// 使用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框架的一些核心概念和操作。每個知識點都像是構建軟體大廈的一塊磚,理解並熟練使用它們,你就能構建出功能強大、結構清晰的應用程式。