Я пытаюсь найти массив для предыдущих записей из введенного пользователем текстового поля, соответствующего новым входящим записям. Есть ли способ сделать это в Visual Basic? Я конвертирую свой код из C#, и Visual Basic продолжает давать мне ошибку «Ссылка на объект не установлена в экземпляр объекта». С помощью этого оператора код пропускает блок if для проверки соответствия текста, потому что arrayName (i) или 0 в этом случае в настоящее время НИЧЕГО. Если я выберу этот блок if, и он достигнет проверки имени, тогда он вызывает ошибку, потому что в arrayName (i) нет ничего, чтобы преобразовать в верхнюю строку.поиск визуального базового массива
Итак, вот мой код. Мой вопрос снова состоял в том, что есть более простой способ поиска предыдущих записей из массива на новые входные записи.
Edit: подробности
Это объявление массива Dim arrayName() = New String(2) {}
и когда он получает Если имяМассива (я) .ToString.ToUpper = txtInput.Text.ToUpper Тогда он говорит: «Объект переменная или переменная блока не установлена. " «NullReferenceException был необработанным кодом пользователя». «X» в коде является фиксированной длиной массива, которая в этом случае равна 2.
Dim i As Integer = 0
While x >= i
If arrayName(i) IsNot Nothing Then
If arrayName(i).ToString.ToUpper = txtInput.Text.ToUpper Then
match = False
lblName.Text = "Enter a unique name"
End If
End If
i += 1
End While
У вас, вероятно, есть тот же вопрос, что и этот поток :) Проверьте это. http://stackoverflow.com/questions/697270/how-can-i-search-an-array-in-vb-net –
Какая строка конкретно вызывает исключение? Исключение предоставляет вам эту информацию. Что говорит отладчик, когда вы проходите через код? Что такое объявление 'arrayName'? –
@Tim oh wait :) Ваш вопрос об ошибке, которая появляется или «более простой способ поиска предыдущих записей из массива на новые входные записи»? или оба? –