Оператор объединения нулей не принимает разные типы. ⇐ C#
-
Гость
Оператор объединения нулей не принимает разные типы.
Я начал с возврата пользовательского класса:
[HttpGet()] public ActionResult Get(string id) => this._roundsService.Get(id); Метод Get в службе раундов может возвращать значение null, которое преобразуется в HTTP 204 No Content. Мне было интересно, как вернуть 404, когда я получу ноль:
[HttpGet()] public ActionResult Get(string id) => this._roundsService.Get(id) ?? Не найдено(); Очевидно, это не работает и выдает ошибку CS0019: Оператор '??' нельзя применить к операндам типа Round и NotFoundResult
Я открыт для других однострочников, которые возвращали бы желаемый объект, если не ноль, и 404, если ноль.
Я использую C# 8.0 с платформой netcoreapp3.0. Я не включил функцию обнуления. Может ли это быть причиной проблемы?
На всякий случай вот метод в классе сервиса:
public Round Get(string id) => this._rounds.Find(round => round.Id == id).FirstOrDefault();
Я начал с возврата пользовательского класса:
[HttpGet()] public ActionResult Get(string id) => this._roundsService.Get(id); Метод Get в службе раундов может возвращать значение null, которое преобразуется в HTTP 204 No Content. Мне было интересно, как вернуть 404, когда я получу ноль:
[HttpGet()] public ActionResult Get(string id) => this._roundsService.Get(id) ?? Не найдено(); Очевидно, это не работает и выдает ошибку CS0019: Оператор '??' нельзя применить к операндам типа Round и NotFoundResult
Я открыт для других однострочников, которые возвращали бы желаемый объект, если не ноль, и 404, если ноль.
Я использую C# 8.0 с платформой netcoreapp3.0. Я не включил функцию обнуления. Может ли это быть причиной проблемы?
На всякий случай вот метод в классе сервиса:
public Round Get(string id) => this._rounds.Find(round => round.Id == id).FirstOrDefault();
Мобильная версия