Вход на сайт
Можно ли возвращать null из функции?
7071 просмотров
Перейти к просмотру всей ветки
в ответ AlexNek 17.04.24 20:27, Последний раз изменено 24.04.24 11:25 (Программист)
Кстати, я тут на днях столкнулся со случаем, когда null-объекты очень полезны :)
Пример - регулярные выражени. Как я и говорил, null-объекты могут оказаться полезными, когда у возвращаемого объекта есть логики.
Упрощенный код:
Match match = this.regex.Match(pattern); while (match.Groups[REGEX_GROUPNAME_0].Success) { string groupName1 = string.Empty; string groupName2 = string.Empty; string groupName3 = string.Empty; if (match.Groups[REGEX_GROUPNAME_1].Success) { groupName1 = $",{match.Groups[REGEX_GROUPNAME_1].Value}"; } if (match.Groups[REGEX_GROUPNAME_2].Success) { groupName2 = $",{match.Groups[REGEX_GROUPNAME_2].Value}"; } if (match.Groups[REGEX_GROUPNAME_3].Success) { groupName3 = $",{match.Groups[REGEX_GROUPNAME_3].Value}"; } match = match.NextMatch(); // upd: забыл эту строчку :) }
Без null-объекта этот код был бы не так хорошо читаем.