您好,登錄后才能下訂單哦!
本篇文章為大家展示了.Net Framework文本處理相關操作方法是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
.Net Framework開發環境幫助我們提供了一個功能非常強大的編寫平臺。
數值和Char實例之間進行轉換:
轉型:效率***,編譯器會直接產生IL指令來執行轉換,不會有任何方法的調用;
但缺點是編譯器要將期望轉換的數值類型看作是基元類型。//c=(Char) 65;
使用Convert類型:System.Convert類型提供了靜態方法,為checked操作
//c=Convert.ToChar(65);
.Net Framework文本處理中使用Iconvertible接口:Char類型和所有.NET框架類庫FCL中的數值類型都實現了
Iconvertible接口,該接口定義了如ToChar這樣的方法;但效率不高,存在值類型轉化為接口裝箱問題 //c=((IConvertible)65).ToChar(null);
C#認為String是一個基元類型,不能用new操作符來創建String對象。
String s=”Hi there”;
String file=”C:""Windows”;
String file=@”C:"Windows”;
//@符號告訴編譯器該字符串為一個
字面字符串,可讀性強
String對象最重要的特性是其恒定性。也就是說,一個字符串一旦被創建,就不可能再將其變長、變短、或者改變其中任何的字符。
.Net Framework文本處理中的編譯器一般將文本常量字符串放在托管模塊的元數據中,然后在運行時使用一種稱作字符串駐留string interning的機制訪問它們。
String s=”Hello”;
Console.WriteLine(Object.
ReferenceEquals(“Hello”,s);
//當***個引用字符串的方法被JIT編譯時,所有嵌入在源代碼中的文本常量字符串總會被添加到CLR內部的散列表中
運行時動態創建字符串:
String s1=”Hello”;
Sting s2=”Hel”;
String s3=s2+”lo”;
Console.WriteLine(Object.
ReferenceEquals(s1,s3));
//返回false,因為動態創建的字符串并沒有添加到CLR內部的散列表中
如果一個應用程序中所有的字符串比較都僅僅是比較引用而非字符集,且有一種.Net Framework文本處理方法可以將含有相同字符集的動態字符串變為托管堆中的一個字符串對象,則將大大提高系統性能。
S3=String.Intern(s3); //返回已經存在的string對象的引用,如找不到,則該字符串將被添加到CLR內部的散列表中
S3=String.IsInterned(s3); //找不到,返回null
只有當我們需要在應用程序中多次比較同一個字符串時,才運用字符串駐留技術。
字符串池技術string pooling:將多次出現的字符串只寫入一次到托管模塊的元數據中
由于string類型表示的是一個恒定不變的字符串,FCL提供了另外一種類型System.Text.StringBuilder,允許我們通過對字符串和字符執行動態操作來創建String對象。
System.Object中定義了一個共有的無參ToString方法,我們可以在任何類型的實例上通過調用ToString來獲得該實例的字符串表達形式。
如果需要自己的類型為調用者提供格式和語言文化選擇的話,我們應是其實現System.Iformattable接口:
Public interface Iformattable{
String ToString(String
format,IformatProvider
formatProvider);}
將多個對象格式化為一個字符串:
String s=String.Format
(“On {0:D},{1} is {2:E}
years old.”,DateTime.Now,
”Wallace”,35);Console.WriteLine(s);
//String的靜態方法Format接受一個格式化字符串,給格式字符串使用大括號中的數字來標識可替換的參數。
StringBuilder的AppendFormat方法是我們能夠以任何期望的方式來格式化對象
.Net Framework文本處理中的任何能夠解析一個字符串的類型都提供有一個名為Parse的共有靜態方法,該方法接受一個String,返回一個類型的實例。
上述內容就是.Net Framework文本處理相關操作方法是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。