MSDN сообщает о необязательных параметрах для Visual Basic
Для каждого необязательного параметра вы должны указать постоянное выражение в качестве значения этого параметра по умолчанию. Если выражение имеет значение Nothing, значение по умолчанию для типа данных value используется как значение по умолчанию для параметра.
Таким образом, вы не можете использовать этот синтаксис, вместо этого вы можете написать что-то вроде этого
Private Sub Test(a As Integer, Optional c As Color = Nothing)
If c = Nothing Then
c = Color.Black ' your default color'
End If
......
End Sub
Тот же код, написанный на C #, выглядит следующим образом
private void Test(int a, Color c = default(Color))
{
if (c.IsEmpty)
c = Color.Black;
}
В C # вы не можете проверить тип значения (например, цвет, точка, размер и т. Д.) С нулевым значением. Эти типы никогда не являются нулевыми, но у них есть значение по умолчанию для типа (например, 0 для целых чисел), поэтому, если вам нужно передать необязательный параметр для типа значения, вы можете создать его с помощью ключевого слова new
со значениями, которые вы должны хотели бы использовать по умолчанию или использовать default
ключевое слово и пусть структура решает, какое значение является значением по умолчанию для типа. Если вы позволите структуре выбирать, тогда свойство IsEmpty будет истинным.
person
Steve
schedule
16.04.2013