描述使用C#字符串的方法
不管創(chuàng)建什么類型的應(yīng)用程序,你都需要使用C#字符串。無論數(shù)據(jù)如何存儲,終端用戶總要與可讀的文本打交道。因此,了解如何使用字符串是任何.NET開發(fā)者創(chuàng)建豐富的應(yīng)用程序所需要學(xué)習(xí)的必要知識。除了向你展示在.NET框架中字符串的使用外,本文還將向你介紹正規(guī)表達式的知識。
除了向你展示如何使用.NET框架中的字符串外,本文還將向你介紹正規(guī)表達式。正規(guī)表達式是格式代碼,不僅允許你驗證一個特定字符串匹配一個給定的格式,而且你還可以使用正規(guī)表達式來從任何其它可能被認為是自由格式的文本中提取有意義的信息,例如從用戶輸入中提取***個名字,或從一個數(shù)字輸入中提取代碼,或從一個URL中提取服務(wù)器名。
使用C#字符串
使用字符串是創(chuàng)建高質(zhì)量應(yīng)用程序的一個必要的技巧。即使你在處理數(shù)字或圖像數(shù)據(jù),終端用戶也需要上下文反饋。本文將向你介紹.NET字符串,如何格式它們,操作它們和比較它們,及其它有用的操作。
NET字符串簡介
在.NET框架和通用語言運行時刻(CLR)以前,開發(fā)者總是花費大量時間處理字符串。一個字符串例程可重用庫幾乎是每一個C和C++程序員的工具箱中的一部分。編寫在不同程序語言之間交換字符串?dāng)?shù)據(jù)的代碼也是相當(dāng)困難的。例如,Pascal把字符串存儲為一個內(nèi)存字符數(shù)組,其中,該數(shù)組的***個元素指示字符串的長度;而C把字符串存儲為一個具有可變長度的字符內(nèi)存數(shù)組,字符串的末端加上一個ASCII null字符(在C中以"\0"表示)。
在.NET框架中,字符串以常量方式存儲。這意味著,當(dāng)你用C#(或任何其它.NET語言)創(chuàng)建一個字符串時,該字符串以一種固定大小存儲在內(nèi)存以便CLR運行更快些。結(jié)果是,當(dāng)你實現(xiàn)例如連接字符串或修改一個字符串中的單個字符時,CLR實際上是創(chuàng)建你的字符串的多個副本。
C#中的字符串與其它值類型例如整數(shù)或浮點數(shù)聲明方式相同,見下面的例子:
- string x = "Hello World";
- string y;
- string z = x;
格式化C#字符串
當(dāng)使用字符串時最常見的一項任務(wù)是格式化字符串。當(dāng)向用戶顯示信息時,你經(jīng)常顯示如日期,時間,數(shù)字值,十進制值,貨幣值,甚至象十六進制數(shù)字這樣的內(nèi)容。使用C#字符串都能夠顯示這些類型的信息,甚至更多。另外一個強有力的特征是,當(dāng)你使用該標準格式化工具時,該格式化的輸出具有地區(qū)感知特征。例如,如果你以短格式顯示一個英格蘭用戶的當(dāng)前日期,那么對于一個美國用戶來說,當(dāng)前日期的短格式將以不同形式顯示。
為了創(chuàng)建一個格式化的字符串,你僅需要調(diào)用string類的Format方法,并且傳遞給它一個格式字符串,如下列代碼所顯示的:
- string formatted = string.Format("The value is {0}", value);
在此,{0}占位符指示一個值應(yīng)該被插入的位置。除了指定一個值應(yīng)該被插入的位置外,你還可以指定該值的格式。
【編輯推薦】