跳轉到內容

.NET 開發基礎/全球化

來自 Wikibooks,為開放世界提供開放書籍


全球化、繪圖和文字操作


全球化、繪圖和文字操作

[編輯 | 編輯原始碼]

考試目標:在 .NET Framework 應用程式中實現全球化、繪圖和文字操作功能

全球化

[編輯 | 編輯原始碼]

文字操作

[編輯 | 編輯原始碼]

在考試目標的背景下,文字操作涵蓋 3 個主要主題:字串構建、正則表示式和文字編碼。我們在以下段落中分別探討它們。

String 和 StringBuilder 類
[編輯 | 編輯原始碼]

文字操作從字串的表示開始,這透過 String 類 完成。沒有特定的考試目標提到 String 類,但我們添加了一個關於它的部分,因為你必須瞭解它的一些特定特性。

接下來是 StringBuilder 類,它用於高效的構造。

正則表示式
[編輯 | 編輯原始碼]

RegexMatchGroup 類一起在 .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 名稱空間

[編輯 | 編輯原始碼]

考試目標:透過使用 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 類不是具體的考試目標,但它被新增是為了討論一些它的特性。

String 類 - MSDN

StringBuilder 類
[編輯 | 編輯原始碼]

StringBuilder 類用於非常快的字串連線。如果你使用傳統的字串連線,它會執行得很慢,因為字串被儲存在陣列中。每次連線都會導致陣列增加其大小,並且記憶體必須在內部複製到新位置。這非常慢。

為了進行快速的字串連線,請使用 StringBuilder。它大約快 1000 倍(取決於你連線的字串)。

StringBuilder 類 - MSDN


請參考示例來衡量效能差異。

C# 示例

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 類
[編輯 | 編輯原始碼]

Regex 類 - MSDN

Match 類和 MatchCollection 類
[編輯 | 編輯原始碼]

Match 類 - MSDN

MatchCollection 類 - MSDN

Group 類和 GroupCollection 類
[編輯 | 編輯原始碼]

Group 類 - MSDN

GroupCollection 類 - MSDN

使用 Encoding 類對文字進行編碼
[編輯 | 編輯原始碼]

Encoding 類 - MSDN

EncodingInfo 類 - MSDN

ASCIIEncoding 類 - MSDN

UnicodeEncoding 類 - MSDN

UTF8Encoding 類 - MSDN

編碼回退類 - MSDN

使用解碼類解碼文字。
[編輯 | 編輯原始碼]

Decoder 類 - MSDN

Decoder 回退類 - MSDN

Capture 類和 CaptureCollection 類
[編輯 | 編輯原始碼]

Capture 類 - MSDN

CaptureCollection 類 - MSDN


上一個

華夏公益教科書