Как сделать значение по умолчанию для типа как Nothing? - PullRequest
1 голос
/ 10 ноября 2009

Например, Dim aInt as Integer должен иметь значение, равное 0, а не 0.

Ответы [ 6 ]

10 голосов
/ 10 ноября 2009

Единственный способ сделать это - использовать Nullable<T> - т.е. (в C #):

int? aInt; // defaults to null

Обычные целые числа не имеют понятия null / Nothing.

4 голосов
/ 10 ноября 2009

Как уже упоминалось, используйте int? / Nullable(of Integer). Будьте осторожны, чтобы не злоупотреблять, хотя. Я работаю над проектом, в котором почти все типы значений объявлены как nullable /?, И это полный беспорядок.

4 голосов
/ 10 ноября 2009

Вам придется использовать обнуляемый тип. В vb.net - Обнуляемый (целочисленный) (или короткий, байт)

1 голос
/ 10 ноября 2009

Целое число не может быть «ничем». Вы должны объявить это как:

dim aInt as Nullable(of Integer)
1 голос
/ 10 ноября 2009

В C # вам нужно использовать int? вместо int. Целые числа являются типами значений, и они не могут иметь нулевое значение.

С int? Вы можете проверить свойство HasValue, чтобы сказать вам, что это что-то отличное от нуля.

int? i = null;

i.HasValue // false;

для получения значения используйте:

i.Value;
0 голосов
/ 10 ноября 2009

Другие ответы верны, вы захотите использовать тип Nullable. Я хотел уточнить синтаксис для VB / C # и какая версия его поддерживает:

VB9 + (Visual Studio 2008):

Dim aNullableInt As Integer?

VB8 + (Visual Studio 2005):

Dim aNullableInt As Nullable(Of Integer)

Принимая во внимание, что в C # 2.0 (Visual Studio 2005) вы уже могли написать его двумя способами:

int? aNullableInt;
Nullable<int> aNullableInt;
...