.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