日期:2010-11-22 浏览次数:20563 次
不管创建什么类型的应用程序,你都需要使用字符串。无论数据如何存储,终端用户总要与可读的文本打交道。因此,了解如何使用字符串是任何.NET开发者创建丰富的应用程序所需要学习的必要知识。除了向你展示在.NET框架中字符串的使用外,本文还将向你介绍正规表达式的知识。
除了向你展示如何使用.NET框架中的字符串外,本文还将向你介绍正规表达式。正规表达式是格式代码,不仅允许你验证一个特定字符串匹配一个给定的格式,而且你还可以使用正规表达式来从任何其它可能被认为是自由格式的文本中提取有意义的信息,例如从用户输入中提取第一个名字,或从一个数字输入中提取代码,或从一个URL中提取服务器名。
一、 使用字符串
使用字符串是创建高质量应用程序的一个必要的技巧。即使你在处理数字或图像数据,终端用户也需要上下文反馈。本文将向你介绍.NET字符串,如何格式它们,操作它们和比较它们,及其它有用的操作。
(一) .NET字符串简介
在.NET框架和通用语言运行时刻(CLR)以前,开发者总是花费大量时间处理字符串。一个字符串例程可重用库几乎是每一个C和C++程序员的工具箱中的一部分。编写在不同程序语言之间交换字符串数据的代码也是相当困难的。例如,Pascal把字符串存储为一个内存字符数组,其中,该数组的第一个元素指示字符串的长度;而C把字符串存储为一个具有可变长度的字符内存数组,字符串的末端加上一个ASCII null字符(在C中以"\0"表示)。
在.NET框架中,字符串以常量方式存储。这意味着,当你用C#(或任何其它.NET语言)创建一个字符串时,该字符串以一种固定大小存储在内存以便CLR运行更快些。结果是,当你实现例如连接字符串或修改一个字符串中的单个字符时,CLR实际上是创建你的字符串的多个副本。
C#中的字符串与其它值类型例如整数或浮点数声明方式相同,见下面的例子:
修饰符 | 描述 |
d | 显示某月中的这一天。 |
dd | 显示某月中的这一天,其中,小于10的值之前加上一个0。 |
ddd | 显示一个星期中某一天的三字母缩写名。 |
dddd(+) | 显示给定的DateTime值中星期中的一天的完整名。 |
f(+) | 显示秒值的最重要的x位数。在f中格式修饰符位数越多,该数字越重要。这是个总秒数,而不是从上个分钟以来经过的秒数。 |
F(+) | 与f(+)相同,除了不显示末尾的零外。 |
g | 显示一个给定的DateTime中的时代,例如,"A.D"。 |
h | 显示小时,范围为:1~12。 |
hh | 显示小时,范围为:1~12,其中,小于10的值之前加上一个0。 |
H | 显示小时范围为:0~23。 |
HH | 显示小时范围为:0~23,其中,小于10的值之前加上一个0。 |
m | 显示分钟,范围为0~59。 |
mm | 显示分钟,范围为0~59,其中,小于10的值之前加上一个0。 |
M | 显示月份,范围为1~12。 |
MM | 显示月份,范围为1~12,其中,小于10的值之前加上一个0。 |
MMM | 显示月份的三字符缩略名。 |
MMMM | 显示月份的完整名字。 |
s | 显示秒数范围为:0~59。 |
ss(+) | 显示秒数范围为:0~59,其中,小于10的值之前加上一个0。 |
t | 显示给定的时间中AM/PM指示器中的第一个字符。 |
tt(+) | 显示给定的时间中完整的AM/PM指示器。 |
y/yy/yyyy | 显示给定的时间中的年份。 |
z/zz/zzz(+) | 显示给定的时间中的时区偏移量。 |