Есть ли такая вещь как nullable bool в vb.net

Ответить @ascobol вопрос использование @bobince предложение из комментариев:

for i in range(5000):
    for j in range(3000):
        if should_terminate_the_loop:
           break
    else: 
        continue # no break encountered
    break

отступ для else блок корректен. Код использует неясный else после цикла синтаксис Python. См. , Почему Python 'еще' использует после для и циклы с условием продолжения?

9
задан Servy 17 January 2017 в 19:31
поделиться

4 ответа

  1. bool? - это просто сокращенный синтаксис для типа значения, допускающего значение NULL : т.е. Nullable
  2. В VB.NET вы можете использовать либо one: Boolean? или Nullable (Of Boolean) .

Вы можете записать это так со свойством поддержки:

Private _willAttend As Nullable(Of Boolean)
Public Property WillAttend As Nullable(Of Boolean)
    Get
        Return _willAttend
    End Get
    Set(value As Nullable(Of Boolean))
        _willAttend = value
    End Set
End Property

Или просто использовать автоматически реализованный свойство следующим образом:

Public Property WillAttend As Boolean?
24
ответ дан 4 December 2019 в 05:52
поделиться

В VB можно объявить значение, допускающее значение NULL, тремя способами:

Dim ridesBusToWork1? As Boolean
Dim ridesBusToWork2 As Boolean?
Dim ridesBusToWork3 As Nullable(Of Boolean)

Дополнительная литература: MSDN - Типы значений, допускающих значение NULL (Visual Basic) .

40
ответ дан 4 December 2019 в 05:52
поделиться

Nullables are available since .NET 2.0. In that version Microsoft implemented Generics (Nullable is a Generic type). Since .NET 3.0 you are able to use the ? in VB.NET too (previously you were only able to use Nullable(of Boolean)).

So as said by Lucas Aardvark in .NET 3.0 you are able to use 3 declarations of nullables, but in .NET 2.0 only 1 being

Dim myBool as Nullable(of Boolean)
3
ответ дан 4 December 2019 в 05:52
поделиться

Значение Nullable используется для таких типов значений, как целые числа, логические значения и т. Д., Которые не поддерживают присвоение значений NULL. Это обычно очень удобно, когда методы возвращают целые числа. Если результат метода недействителен, вы можете просто вернуть обнуляемый int, установленный в null, вместо отрицательного целого числа, что может оказаться допустимым результатом в долгосрочной перспективе. Это практически единственное преимущество, которое приходит на ум. Другие опубликовали, как это сделать в VB.NET. Я не буду вдаваться в подробности.

0
ответ дан 4 December 2019 в 05:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: