Вопрос

с необязательными параметрами PHP , если вы не отправите параметр, ему будет присвоено значение по умолчанию:

public function getCustomer(id, optionalMessage = "(no message)") {
    ...
}

в C # я обычно решаю это с помощью перегрузки метода C # , например:

public void GetCustomer(int id) 
{
    ...
}

public void GetCustomer(int id, string optionalMessage)
{
    ...
}

но мне не хватает прагматичного варианта PHP, имеет ли C # также какой-то сахарный синтаксис для выполнения необязательных параметров , как в примере с PHP?

Другие советы

Нет, но вы можете имитировать их до некоторой степени, особенно если ваши необязательные параметры относятся к одному и тому же типу (или вы не возражаете против некоторого приведения).

Вы можете использовать флаг params.

void paramsExample(object arg1, object arg2, params object[] argsRest) 

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

scroll top