русский
Germany.ruForen → Архив Досок→ Programmierung

Можно ли возвращать null из функции?

24.04.24 09:24
Re: Можно ли возвращать null из функции?
 
Программист коренной житель
in Antwort AlexNek 17.04.24 20:27, Zuletzt geändert 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-объекта этот код был бы не так хорошо читаем.



 

Sprung zu