2009-06-07 9 views
0

Ich arbeite mit einigen Beispielcode großzügig mir von this answer gegeben, und wenn ich eine lange Zeichenfolge eingeben, um es abstürzt irgendwann mit einer IndexOutOfRangeException. Was merkwürdig ist, ist, dass wenn ich die Zeichenfolge überprüfe, es auf die Worte "System.Char []" eingestellt ist. Warum passiert das und wie kann ich das beheben?Ungewöhnliche Zeichenfolge Fehler

Antwort

2

Dieser Code:

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

Sollte sein, wie Jon schlägt vor:

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

Das hat das Problem behoben! Vielen Dank! – RCIX

3

Ich nehme stark an, dass irgendwo was du hast:

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

statt

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