Есть ли случай для синтаксического сахара, который возвращает null, когда конкретный параметр равен нулю? Это существует?Синтаксический сахар для «Если этот параметр имеет значение null, автоматически возвращает null»
public DataObj GetMyData(DataSource source?null, User currentUser?null, string path) {
// Code starts here. source and currentUser are not null.
}
или это
public DataObj GetMyData(DataSource source!, User currentUser!, string path) {
// Code starts here. source and currentUser are not null.
}
Так выше будет возвращать нулевое значение, если источник или CurrentUser были нуль без выполнения метода, но выполнить бы, если только путь был нулевым.
public DataObj GetMyData(DataSource source, User currentUser, string path) {
if (source == null || currentUser == null)
{
return null;
}
// The rest of your code here
}
Вы также можете использовать ArgumentNullExceptions, но тогда вы создаете дополнительную работу обработки исключений в других местах, особенно если нулевые параметры в порядке, но вы не получите от него значения.
Нет, в C# ничего подобного нет. – MarcinJuraszek
Что бы этот метод возвращал для типа значения? –
Есть ли язык, который на самом деле это делает? – TyCobb