Zwróć nic lub return void— Co dokładnie robi C # na końcu pustego wywołania Function ()?
Rozważ następującą funkcję C #:
void DoWork()
{
...
}
Dokumentacja C # stwierdza:
Gdy jest używany jako typ powrotu dla metody, void określa, że metodanie zwraca wartości.
Wydaje się to dość proste i, w większości przypadków, odpowiada to uczciwej definicji.
Jednak dla wielu języków niższego poziomu (tj. C) „void” ma nieco inne znaczenie. W szczególności wszystkie bloki kodu muszą powrócićcoś. W związku z tym,void
jest reprezentacją wskaźnika zerowego, który reprezentuje „nic”. W takim przypadku nie musisz miećreturn
instrukcja w kodzie, ponieważ każda instrukcja blokowa, która nie zwraca wartości, automatycznie zwraca wskaźnik zerowy.
Czy to właśnie robi C #, czy avoid
funkcja jest wywoływana, czy wykonuje blok kodu i zwraca bez nawet wskaźnika zawierającego wartość void?