Как я преобразовываю Целое число? к Целому числу в VB.NET?

Я - программист C#, но преобразовываю некоторый код от C# до VB.NET. В c# я могу просто использовать (int)blah.getValue() где getValue() возвраты Integer?

Выполнение a DirectCast() в VB.NET не работает хотя, говоря Integer? не может быть преобразован в Integer.

Идеи?

6
задан NibblyPig 9 February 2010 в 11:00
поделиться

6 ответов

Целочисленное? является нулевым типом, так что, возможно, вам придется преобразовать его в нулевое целое число.

Вы хотите использовать функцию CType типа так, 'Целое' или 'Целое?'. В зависимости от вашей ситуации

Val = CType(Source,Integer?)
6
ответ дан 8 December 2019 в 17:21
поделиться

Используйте свойство value для получения действительного целочисленного значения.

Dim intNullable As Integer?

If intNullable.HasValue Then
 Return intNullable.Value
End If
8
ответ дан 8 December 2019 в 17:21
поделиться

CInt(ValueToBeInteger)

.
1
ответ дан 8 December 2019 в 17:21
поделиться

Вы должны использовать функцию CType следующим образом:

CType(blah.getValue(), Integer)
0
ответ дан 8 December 2019 в 17:21
поделиться
dim a as integer? = 1
dim b as integer = a.value

Не забудьте проверить, имеет ли a.hasvalue (возвращает логическое значение, истина, если a имеет значение).

0
ответ дан 8 December 2019 в 17:21
поделиться
myNonNullableVar = if(myNullableVar, 0)

установит 0, если целое число? имеет значение null или возвращает фактическое значение.

В C # это будет:

 myNonNullableVar = myNullableVar ?? 0;
0
ответ дан 8 December 2019 в 17:21
поделиться
Другие вопросы по тегам:

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