前幾天在面試中碰到一個看似不起眼卻沒怎么用過的一個方法:string.Insert(int startIndex,string value),作用是在原來字符串的基礎上在指定位置上插入想要插入的字符串后得到一個新的字符串。
就兩個參數,也沒有重載方法。顧名思義,第一個參數為要插入的開始位置,潛在的異常是此參數的值為負數;第二個參數是要插入的值,潛在的異常是這個值為空。
看代碼:
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 6 string old = "abcdefg";//原始字符串 7 string insert = "fff";//要插入的字符串 8 string wartch_old = old;//查看原來的字符串變化 9 old = old.Insert(1, insert); 10 string wartch_old2 = old;//查看第一次插入后的old的變化 11 old = old.Insert(0, insert); 12 13 14 Console.WriteLine(old); 15 Console.WriteLine(wartch_old); 16 Console.WriteLine(wartch_old2); 17 Console.ReadLine(); 18 } 19 }
輸出結果:
從輸出可以驗證了一個string的特征,不可變性。每次對申明的字符串執行操作都是重新開辟一個新的返回。另外也證明,Insert這個方法是直接插入不是替換掉原來的相應位置字符。