Необычная ошибка строки - PullRequest
0 голосов
/ 07 июня 2009

Я работаю с некоторым примером кода, щедро предоставленным мне этим ответом , и когда я ввожу длинную строку, соответствующую ей, в какой-то момент происходит сбой IndexOutOfRangeException. Странно то, что когда я проверяю строку, она выглядит как слова «System.Char []». Почему это происходит, и как я могу это исправить?

Ответы [ 2 ]

3 голосов
/ 07 июня 2009

Я сильно подозреваю, что где-то у вас есть:

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

вместо

char[] chars = ...;
string myString = new string(chars);
2 голосов
/ 07 июня 2009

Этот код:

    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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...