Что лучше: отсчет индексации с нуля или с единицы? (Visual Basic)
Обновлен: Ноябрь 2007
В этом разделе проводится сравнение того, как Visual Basic и .NET Framework предоставляют доступ к символам в строке. .NET Framework символы в строке считает с нуля, тогда как Visual Basic введет индексацию либо с нуля, либо с единицы, в зависимости от функции.
Индексация с единицы
Примером функции Visual Basic, ведущей отсчет с единицы, является функция Mid. Функция Mid принимает аргумент, указывающий положение начального символа подстроки, начиная с позиции 1. В методе .NET Framework String.Substring используется индекс символа, с которого должна начаться подстрока, начиная с позиции 0. Таким образом, если пользователь работает со строкой "ABCDE", при использовании функции Mid символы нумеруются 1,2,3,4,5, а при использовании метода String.Substring — 0,1,2,3,4.
Индексация с нуля
Примером функции Visual Basic, ведущей отсчет с нуля, является функция Split. Она разбивает строку и возвращает массив, содержащий подстроки. В методе .NET Framework String.Split также разбивается строка и возвращает массив, содержащий подстроки. Поскольку функция Split и метод Split возвращают массивы .NET Framework, индексация у них должна вестись от нуля.
См. также
Задачи
Устранение неполадок при работе с коллекциями