2009-06-07 42 views
0

我正在使用一些示例代碼慷慨地給我的this answer,當我輸入一個長字符串來匹配它崩潰在某一點與IndexOutOfRangeException。奇怪的是,當我檢查字符串時,它似乎被設置爲單詞「System.Char []」。爲什麼會發生這種情況,我該如何解決?不尋常的字符串錯誤

回答

2

此代碼:

var mutated = member.Str.ToCharArray(); 
    Convert.ToChar((member.Str[ipos] + delta)%123).ToString().CopyTo(0, mutated, ipos, 1); 
    member.Str = mutated.ToString(); 

應視喬恩建議:

var mutated = member.Str.ToCharArray(); 
    Convert.ToChar((member.Str[ipos] + delta)%123).ToString().CopyTo(0, mutated, ipos, 1); 
    member.Str = new string(mutated); 
+0

解決了問題!謝謝! – RCIX 2009-06-07 07:41:55

3

我強烈懷疑的地方你已經有了:

char[] chars = ...; 
string myString = chars.ToString(); 

,而不是

char[] chars = ...; 
string myString = new string(chars);