.NET 開發基礎/全球化
| .NET 開發基礎 | |
|---|---|
考試目標:在 .NET Framework 應用程式中實現全球化、繪圖和文字操作功能
在考試目標的背景下,文字操作涵蓋 3 個主要主題:字串構建、正則表示式和文字編碼。我們在以下段落中分別探討它們。
文字操作從字串的表示開始,這透過 String 類 完成。沒有特定的考試目標提到 String 類,但我們添加了一個關於它的部分,因為你必須瞭解它的一些特定特性。
接下來是 StringBuilder 類,它用於高效的構造。
Regex、Match 和 Group 類一起在 .NET 框架中實現正則表示式支援。
正則表示式本身就是一個世界,並且已經存在相當長的時間了。
有一本關於 正則表示式 的華夏公益教科書,其中,除其他事項外,還指出了 本教程。
.NET 中的正則表示式支援基本上允許
- 測試字串與正則表示式模式的匹配(Regex.IsMatch 方法)
- 提取與模式一部分“匹配”的子字串(帶有 Match 和 Group 類的 Regex.Match 方法)。
(參考 System.Globalization 名稱空間)
考試目標:在 .NET Framework 應用程式中訪問文化和區域資訊
CultureInfo 類 - MSDN
CultureTypes 列舉 - MSDN
RegionInfo 類 - MSDN
DateTimeFormatInfo 類 - MSDN
NumberFormatInfo 類 - MSDN
NumberStyles 列舉 - MSDN
CompareInfo 類 - MSDN
CompareOptions 列舉 - MSDN
考試目標:基於現有的文化和地區類構建自定義文化類
CultureAndRegionInfoBuilder 類 - MSDN
CultureAndRegionModifier 列舉 - MSDN
考試目標:透過使用 System.Drawing 名稱空間來增強 .NET Framework 應用程式的使用者介面。
考試目標:透過使用畫刷、筆、顏色和字型來增強 .NET Framework 應用程式的使用者介面
Brush 類 - MSDN
Brushes 類 - MSDN
SystemBrushes 類 - MSDN
TextureBrush 類 - MSDN
Pen 類 - MSDN
Pens 類 - MSDN
SystemPens 類 - MSDN
SolidBrush 類 - MSDN
Color 結構 - MSDN
ColorConverter 類 - MSDN
ColorTranslator 類 - MSDN
SystemColors 類 - MSDN
StringFormat 類 - MSDN
Font 類 - MSDN
FontConverter 類 - MSDN
FontFamily 類 - MSDN
SystemFonts 類 - MSDN
考試目標:透過使用圖形、影像、點陣圖和圖示來增強 .NET Framework 應用程式的使用者介面
Graphics 類 - MSDN
BufferedGraphics 類 - MSDN
BufferedGraphicsManager 類 - MSDN
Image 類 - MSDN
ImageConverter 類 - MSDN
ImageAnimator 類 - MSDN
Bitmap 類 - MSDN
Icon 類 - MSDN
IconConverter 類 - MSDN
SystemIcons 類 - MSDN
考試目標:透過使用形狀和尺寸來增強 .NET Framework 應用程式的使用者介面
Point 結構 - MSDN
PointConverter 類 - MSDN
Rectangle 結構 - MSDN
RectangleConverter 類 - MSDN
Size 結構 - MSDN
SizeConverter 類 - MSDN
Region 類 - MSDN
考試目標:增強 .NET Framework 應用程式的文字處理功能,並透過使用正則表示式來搜尋、修改和控制 .NET Framework 應用程式中的文字
(參考 System.Text 名稱空間)
(參考 System.RegularExpressions 名稱空間)
String 類不是具體的考試目標,但它被新增是為了討論一些它的特性。
String 類 - MSDN
StringBuilder 類用於非常快的字串連線。如果你使用傳統的字串連線,它會執行得很慢,因為字串被儲存在陣列中。每次連線都會導致陣列增加其大小,並且記憶體必須在內部複製到新位置。這非常慢。
為了進行快速的字串連線,請使用 StringBuilder。它大約快 1000 倍(取決於你連線的字串)。
StringBuilder 類 - MSDN
請參考示例來衡量效能差異。
StringBuilder 示例
using System; using System.Collections; public class Demo { public static void Main() { const int len = 30; const int loops = 5000; // DateTime timeStart, timeStop; // // Measure time for normal string concatenation timeStart = DateTime.Now; string str = ""; for (int i = 0; i < loops; i++) { str += new String('x', len); } timeStop = DateTime.Now; int millis = timeStop.Subtract(timeStart).Milliseconds; Console.WriteLine("Duration for " + loops + " loops: " + millis + " ms"); // // Measure time for StringBuilder string concatenation StringBuilder sb = new StringBuilder(); timeStart = DateTime.Now; for (int i = 0; i < loops; i++) { sb.Append(new String('x', len)); } str = sb.ToString(); timeStop = DateTime.Now; millis = timeStop.Subtract(timeStart).Milliseconds; Console.WriteLine("Duration for " + loops + " loops: " + millis + " ms"); // Console.ReadLine(); } }
Regex 類 - MSDN
Match 類 - MSDN
MatchCollection 類 - MSDN
Group 類 - MSDN
GroupCollection 類 - MSDN
Encoding 類 - MSDN
EncodingInfo 類 - MSDN
ASCIIEncoding 類 - MSDN
UnicodeEncoding 類 - MSDN
UTF8Encoding 類 - MSDN
編碼回退類 - MSDN
Decoder 類 - MSDN
Decoder 回退類 - MSDN
Capture 類 - MSDN
CaptureCollection 類 - MSDN