Поделиться через


Что лучше: отсчет индексации с нуля или с единицы? (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, индексация у них должна вестись от нуля.

См. также

Задачи

Устранение неполадок при работе с коллекциями

Ссылки

Функция Mid (Visual Basic)

Функция Split (Visual Basic)

Substring

Split

Другие ресурсы

Знакомство со строками в Visual Basic