В моей программе у меня есть длинная строка, отправленная через другую программу. Эта строка имеет длину около 100 символов, и мне нужна ее небольшая часть. Для этого мы скажем, что строка, которую я посылаю, выглядит следующим образом:Описание String.Substring
Здравствуйте, я тестовая строка. Я ужасно длинный и полный вещей, которые вы не хотите.
Таким образом, чтобы сократить строку таким образом я получаю только ту часть, мне нужно я использовал следующий метод строки:
String.Substring(startPoint, Endpoint)
Теперь в моей программе я знаю, что бит строки мне нужно использование составляет всего 38 символов с самого начала и всего 36 символов. Таким образом, мой вызов выглядит примерно так:
String.Substring(38, 36)
И моя программа будет счастливо читать test string
из приведенного выше примера.
Это не вызывает никаких проблем или ошибок при создании программы. Но когда я запускаю его, компьютер жалуется, что конечная точка не может быть ниже начальной. Дело в том, что часть сообщения, которое я хочу, отправляется.
Я попытался модифицировать мой вызов, так что она будет выглядеть примерно так:
String.Substring(startPoint, startPoint + 36)
Но вернулся кучей дополнительных персонажей, которых я не нуждаюсь или хочу.
Теперь мой взгляд на этот метод заключается в том, что он работает, беря мою начальную точку, 38-й символ от начала строки, а затем идет 36 символов вдоль 38-го. Мое мнение о том, как этот метод работает неправильно?
Почему этот компьютер жалуется на проблему, но затем делает все, что я хочу?
Просто деталь: второй аргумент, конечно, не конечная точка, это длина. –
Ваше понимание String.Substring верно, первым параметром является смещение, второе - длина от этого смещения. Вы пробовали отлаживать его и видеть, что строка на самом деле правильная? – Tobberoth
Какая именно ошибка вы получаете? – rhughes