Ответить @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 'еще' использует после для и циклы с условием продолжения?
bool?
- это просто сокращенный синтаксис для типа значения, допускающего значение NULL : т.е. Nullable
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?
В VB можно объявить значение, допускающее значение NULL, тремя способами:
Dim ridesBusToWork1? As Boolean
Dim ridesBusToWork2 As Boolean?
Dim ridesBusToWork3 As Nullable(Of Boolean)
Дополнительная литература: MSDN - Типы значений, допускающих значение NULL (Visual Basic) .
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)
Значение Nullable используется для таких типов значений, как целые числа, логические значения и т. Д., Которые не поддерживают присвоение значений NULL. Это обычно очень удобно, когда методы возвращают целые числа. Если результат метода недействителен, вы можете просто вернуть обнуляемый int, установленный в null, вместо отрицательного целого числа, что может оказаться допустимым результатом в долгосрочной перспективе. Это практически единственное преимущество, которое приходит на ум. Другие опубликовали, как это сделать в VB.NET. Я не буду вдаваться в подробности.