Startindex не может быть больше чем длина строки
System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string
I have this code. I am trying to retrieve just the text «first program». Considering that i know the index say 25 and total length of string is 35.
But i get the error during runtime «System.ArgumentOutOfRangeException: startIndex cannot be larger than length of string»
5 Answers 5
The parameters for String.Substring are:
You’re trying to take 35 characters after the 26th character (startIndex is zero-based), which is out of range.
If you just want to get from the 25th character to the end of the string use text.SubString(24)
Second argument to string.Substring() is the length, not the end-offset:
The second parameter to Substring is how long you want the substring to be, not the end point of the substring. 25 + 35 is outside the range of the original string, so it throws an exception.
During this time you can use
Second argument for SubString is the number of characters in the substring.
Simpler way to do it.
you can do some operation or call a function to get start/end index values. With this approach you are less likely to get into any trouble related to indexes.
Linked
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.12.3.40888
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
startIndex не может быть больше длины строки. Имя параметра: startIndex в vb.net
У меня есть фрагмент кода, который генерирует random символ. Проблема в том, что время от времени он возвращает ошибку:
«startIndex cannot be larger than length of string. Parameter name: startIndex»
Как мне предотвратить возникновение такого рода ошибок?
как вы можете видеть, я попытался поставить «On Error Resume Next», надеясь, что каким-то образом это позаботится об ошибке для меня. Но, к сожалению, это не делает его работу. Или я использую его неправильно или для неправильной ситуации?
2 ответа
Я работаю над ASP.NET 4.0 и Visual Studio 2010.In моим веб-проектом я запускаю командный процесс, чтобы получить физический адрес Системы и справиться с результатом, назначив его строковой переменной и выполнив подстроку строковой переменной, чтобы получить только желаемый результат. В моем.
иногда возвращает число, которое больше (27 или 28), чем длина этой строки:
таким образом, это недопустимо, когда selChar равно 26 или более.
Самое простое решение-это:
Похожие вопросы:
Я попытался проверить месяц работы персонала, равный ли 3 месяцам с момента начала работы до настоящего времени. И это то, что я пытаюсь использовать : int totalMonth = 3; int totalYear = 0; int mon.
У меня есть веб-проект, который отлично строится на Windows 7 без ошибок. Когда я обновился до Windows 8, компиляция проекта в скомпилированный веб-сайт выдает ошибку. Компиляция из файла csproj (не.
я работаю над текстовым редактором, и в тот раз, когда я вводил в него текст, я удалил его ошибку: StartIndex не может быть меньше нуля указывая этот код: String line = rtb.Text.Substring(start, end.
Я работаю над ASP.NET 4.0 и Visual Studio 2010.In моим веб-проектом я запускаю командный процесс, чтобы получить физический адрес Системы и справиться с результатом, назначив его строковой.
Я подписывал часть android моего общего проекта Xamarin. Я создал архив, используя кнопку архив для публикации. Ранее я загрузил это приложение с помощью того же сертификата подписи и загружал его.
Когда я запускаю компилятор он выдает исключение: ArgumentOutOfRangeException: startIndex не может быть длиннее длины строки. Я не понимаю, почему строка, которую я пишу в компилятор, состоит из 10.
Я пытаюсь создать программу, которая преобразует 5-значное двоичное число в десятичное. В нынешнем виде преобразование работает отлично, но у меня возникают проблемы с выдачей сообщения об ошибке.
Я пытаюсь получить количество просмотров видео YouTube, но у меня есть проблема с кодом, я не использую YouTube API! сначала я получаю исходный код, а после пытаюсь получить счетчик просмотров, но.
Я использую много экземпляров Hijri Gerogian Datapicker, с управлением gridview, когда я удаляю из gridview, я получаю следующую ошибку: StartIndex cannot be less than zero. Parameter name.
startIndex не может быть больше длины строки
Я пытаюсь получить количество просмотров видео YouTube, но у меня есть проблема с кодом, я не использую YouTube API!
сначала я получаю исходный код, а после пытаюсь получить счетчик просмотров, но моя проблема в том, что я получаю startIndex can not be greater than the length of the string на уровне
2 ответа
У меня есть фрагмент кода, который генерирует random символ. Проблема в том, что время от времени он возвращает ошибку: startIndex cannot be larger than length of string. Parameter name: startIndex Как мне предотвратить возникновение такого рода ошибок? Вот мой код: Friend Function gentCtrlChar().
Есть два конструктора SubString
Теперь в вашем случае вы используете оба
Проблема заключается в вашем первом вызове, где вы просто определяете значение начального индекса, которое может быть больше длины строки, т. е. источника
Похожие вопросы:
Я пытаюсь проверить, не имеет ли имя папки расширения. Потому что я хочу изменить имя папки. Но вы также можете изменить имя файла. И я получаю эту ошибку: startIndex cannot be larger than length of.
Я попытался проверить месяц работы персонала, равный ли 3 месяцам с момента начала работы до настоящего времени. И это то, что я пытаюсь использовать : int totalMonth = 3; int totalYear = 0; int mon.
У меня есть фрагмент кода, который генерирует random символ. Проблема в том, что время от времени он возвращает ошибку: startIndex cannot be larger than length of string. Parameter name: startIndex.
я работаю над текстовым редактором, и в тот раз, когда я вводил в него текст, я удалил его ошибку: StartIndex не может быть меньше нуля указывая этот код: String line = rtb.Text.Substring(start, end.
Я работаю над ASP.NET 4.0 и Visual Studio 2010.In моим веб-проектом я запускаю командный процесс, чтобы получить физический адрес Системы и справиться с результатом, назначив его строковой.
Я подписывал часть android моего общего проекта Xamarin. Я создал архив, используя кнопку архив для публикации. Ранее я загрузил это приложение с помощью того же сертификата подписи и загружал его.
Когда я запускаю компилятор он выдает исключение: ArgumentOutOfRangeException: startIndex не может быть длиннее длины строки. Я не понимаю, почему строка, которую я пишу в компилятор, состоит из 10.
Я пытаюсь создать программу, которая преобразует 5-значное двоичное число в десятичное. В нынешнем виде преобразование работает отлично, но у меня возникают проблемы с выдачей сообщения об ошибке.
Как это возможно в этом коде: «ArgumentOutOfRangeException: startIndex не может быть больше длины строки»?
у меня есть следующий метод в моем C# код:
реализация выглядит очень простой и очевидной, и имеет отличный охват модульными тестами. Никаких неожиданных результатов не произошло ни на моей машине, ни на серверах сборки, ни на других машинах, к которым у меня есть доступ, ни в большинстве производственных сред.
за исключением того, что только один удаленный клиент иногда сообщает о сбое приложения в этом методе со следующим стеком Трейс:
к сожалению, у меня нет удаленного доступа к этой рабочей среде или к ее данным, или к какой-либо дополнительной информации. По некоторым причинам в настоящее время я не могу развернуть систему ведения журнала или сбор аварийного дампа.
глядя на код, и пробуя различные комбинации аргументов, я не представляю, как это исключение может произойти.
не могли бы вы помочь мне с некоторыми идеями?
2 ответов
но иногда специфичные для культуры операции-это именно то, что тебе нужно. К сожалению, их семантика может быть сложным и нелогичным, может нарушить какой-нибудь нормально-предположил инварианты, и есть много случаев, чтобы позаботиться обо. Разработчики, отвечающие за реализацию чувствительной к культуре логики в приложении, должны быть очень квалифицированными в этой области и всегда точно понимать, что они делают. Я бы рекомендовал установить стандарты обзора и тестирования для этой области выше нормы.
после комментариев я обнаружил, что подстрока не терпит неудачу при недопустимом индексе. Реальная проблема заключается в
ЄДЕБО
ЄДЕБО / Без категории
Ошибка в методе «UniversityRequestSeasonsAdd»
Запрос на добавление
c82dd955-3bee-465c-af32-426f0b289df2
a7a10736-baa3-4bc8-b002-3fff98a8f422
1
21.06.2011
30.06.2011
Тестивий набір2
199 startIndex не может быть больше, чем длина строки.
Имя параметра: startIndex
Отмечено как решение
Извините что не указали в документации.
Извините что не указали в документации.
«;
Возвращается ошибка:
Exception in try call method UniversityRequestSeasonsAdd
Parameters:
Array ( [SessionGUID] => 8b806a41-e0ab-4579-9d53-8b36b670577f [UniversityKode] => 6bcc1ab0-1b9c-48eb-a22e-759dcc332e28 [Id_PersonRequestSeasons] => 1 [UniversityRequestSeasonsDateBegin] => 01.06.2011 [UniversityRequestSeasonsDateEnd] => 29.06.2011 [UniversityRequestSeasonsName] => КУБГ. Вступ-2011 )
подобная ситуация у меня возникала если некоректно указывал параметры метода (пропущенные параметры). У вас опять изменения в методе?
Так, одни грабли нашёл. Они мои 🙂 Владимир, возможно вам это поможет. Я опять на автомате вместо сервиса guides использовал сервис persons.
Но «вылезла» такаяч ошибка:
Error: Array ( [0] => 199 [1] => startIndex не может быть больше, чем длина строки. Имя параметра: startIndex )
Админы! Помогите!
Сергей написал:
такая же проблема. для кода
Exception in try call method UniversityRequestSeasonsAdd
Parameters:
Array ( [SessionGUID] => 8b806a41-e0ab-4579-9d53-8b36b670577f [UniversityKode] => 6bcc1ab0-1b9c-48eb-a22e-759dcc332e28 [Id_PersonRequestSeasons] => 1 [UniversityRequestSeasonsDateBegin] => 01.06.2011 [UniversityRequestSeasonsDateEnd] => 29.06.2011 [UniversityRequestSeasonsName] => КУБГ. Вступ-2011 )
подобная ситуация у меня возникала если некоректно указывал параметры метода (пропущенные параметры). У вас опять изменения в методе?
Admin написал:
Сергей написал:
такая же проблема. для кода
Exception in try call method UniversityRequestSeasonsAdd
Parameters:
Array ( [SessionGUID] => 8b806a41-e0ab-4579-9d53-8b36b670577f [UniversityKode] => 6bcc1ab0-1b9c-48eb-a22e-759dcc332e28 [Id_PersonRequestSeasons] => 1 [UniversityRequestSeasonsDateBegin] => 01.06.2011 [UniversityRequestSeasonsDateEnd] => 29.06.2011 [UniversityRequestSeasonsName] => КУБГ. Вступ-2011 )
подобная ситуация у меня возникала если некоректно указывал параметры метода (пропущенные параметры). У вас опять изменения в методе?