строку ReadLine ошибка Index was outside the bounds of the array

apxx

Читаю из потока строку ReadLine-ом, после этого при обращении до 49 номера строка нормально работает как массив, выше 50 и т.д., посылает. Хотя в str записывается вся строка, включая 50 и т.д.. И как мне ""доколебаться" до остальных символов строки?
char x;
string str;
...
Stream myStream;
StreamReader reader = new StreamReader(myStream);
str = reader.ReadLine
x = str[50]//тут посылает (Index was outside the bounds of the array.)

Dasar

у тебя в файле в первой строке - всего 50 символов

Dasar

у тебя кстати файл в какой кодировке?

apxx

Нет, проверял (label.text) и считал (str.Length при этом дает >50)

apxx

Не в кодировке дело. Когд астроки маленькие (<50) все работает

Dasar

так какая все-таки кодировка?

apxx

ASCII

Dasar

текст русский?

apxx

Да

evgen5555

попробуй дебажиться при возникновении исключения, смотреть watch, locals, output'ы всякие

apxx

смотрел. Там тоже str нормальная строка (>50 симвалов Там таже инфа, что и в метках. ЗЫ я их понаставил навсякий:)

Helga87

Сделай минимальный консольный проект, на котором воспроизводится проблема и расшарь/прикрепи к посту. Тогда можно будет понять в чем дело.

apxx

В версии лайт все работает. Буду думать...

Dasar

> Да
так значит ты просто читаешь не в той кодировке
поставь Encoding.GetEncoding(1251) и будет тебе счастье.

Marinavo_0507

В ASCII русских букв не бывает, если что.
Похожие темы:
Оставить комментарий
Имя или ник:
Комментарий: