Оператор goto в Visual C # (Sharp)

Оператор goto дозволяє передавати управління з одного місця коду в інше У минулому, коли не було обєктів, методів та інших просунутих конструктивів програмування, розробники використовували оператор goto, тому що у них не було іншого виходу В даний час багато розробники програмного забезпечення недолюблюють оператор goto Вони вважають його використання прнаком неохайного програмування, і що його ніколи не слід застосовувати На форумі Channel 9 (http://channelgmsdncom/ShowPostaspxPageIndex=I&ampPostID= 14652) є хороша дискусія на предмет використання оператора goto

Мені особисто подобається в реалізації оператора goto у мові С # те, що він призначен для вирішення певної проблеми, але не викликає старих проблем Поетові, якщо вам потрібно використовувати оператор goto, так використовуйте його, тільки не зловживайте ім

У наступному псевдокоде наводиться приклад ситуації, в якій уникнути іользованія оператора goto неможливо:

while (FirstActionLoop()) { while (SecondActionLoop()) {

if (BreakOutOfLoops()) { goto EXIT_ALL

}

}

}

EXIT_ALL:

У коді є два циклу Якщо код виконує внутрішній цикл і вирішить прекр роботу, то зробити це буде важко, т к виконання можна перервати з помью оператора break тільки в одному циклі за раз Таким чином, єдиним дієвим рішенням буде використання оператора goto, як показано в коді

Оператор goto асоційований з ідентифікатором, що представляє мітку, котую можна помістити майже в будь-якому місці оголошеного методу Єдиним винятком, де не можна поміщати мітку, буде оператор switch case Але мітку можна помістити до або після ключового слова goto

Джерело: Гросс К С # 2008: Пер з англ – СПб: БХВ-Петербург, 2009 – 576 е: ил – (Самовчитель)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*