Member 12611727 Ответов: 1

Я получаю нулевую ссылку в saddress


Привет,

Я должен написать свой код в vb.net. У меня есть класс shipping_address.
В операторе цикла первых данных нет никакого адреса. Как проверить ничего, а затем присвоить значение для address1 ? Всякий раз, когда я запускаю, я получаю исключение null reference.

For Each obj In st.orders
            Dim RefNo As Long = obj.id
            Dim OrderDate As String = obj.created_at
            Dim TotalAmt As Double = obj.total_price
            Dim Email As String = obj.email
            Dim CustName As String = obj.name

            Dim TotalTax As Double = obj.total_tax
            Dim TotalWeight As Long = obj.total_weight
            Dim Remarks As String = obj.note
            Dim FirstName As String = obj.customer.first_name
            Dim LastName As String = obj.customer.last_name
            Dim ShipCode As String = obj.shipping_lines(0).code
            Dim ShipPrice As Double = obj.shipping_lines(0).price
            Dim SAddress As String= obj.shipping_address.address1


Next


Что я уже пробовал:

Dim SAddress As String
            If obj.shipping_address IsNot Nothing AndAlso _
            obj.shipping_address.address1 = String.Empty Then
                obj.shipping_address.address1 = SAddress
            End If

1 Ответов

Рейтинг:
0

Sandeep Mewara

Цитата:
Как проверить ничего, а затем присвоить значение для address1 ?

Попробуйте с операторами, допускающий значение null :
' Nothing if customers, the first customer, or Orders is Nothing
Dim count As Integer? = customers?(0)?.Orders?.Count()

это то же самое, что:
Dim length As Integer
If customers IsNot Nothing Then
   length = customers.Length
End If


Ссылаться: Нуль-условные операторы - визуальный основной | Майкрософт документы[^]

В вашем случае попробуйте что-нибудь вроде:
Dim SAddress As String? = obj?.shipping_address.address1


Member 12611727

спасибо это сработало :)

Sandeep Mewara

Хорошо знать. :большой палец вверх:

CPallini

5.