return-ның break-тан айырмашылығы

Бағдарламалау
break операторын білетін жанға return-ды да ұғып алу оңай.

return — өзі тиесілі методтан, қандай да бір мәнді қайтара отырып(міндетті түрде емес, мән қайтармауы да мүмкін),сол методан шығарып жіберу операторы.

return — өзі тиесілі циклден шығу үшін қолданылмайды, циклдан шығамын деп методтан толықтай шығып кетесіз.
Мысалы, мынадай есеп бар делік:
Сіз құратын бағдарлама алғашқы енгізілген 0-ге дейінгі сандардың қосындысын тауып беруі керек.
Ескерту: енгізу операторы «0» енгізілмейінше шексіз қайталана беруі тиіс.
Бұл есептің шешімінің сан алуан ұтымдырақ нұсқалары бар шығар, дегенмен өзімдікін ұсынамын:
static void Main(string[] args)
        {
            int a=0, b;
            while (true)
            {
                b = int.Parse(Console.ReadLine());
                if (b == 0)
                    break ;
                a += b;
            }
            Console.WriteLine("Барлык енгiзiлген сандардын косындысы = " + a);
            Console.ReadKey();
        }

Бағдарламаны қосып, бірнеше ойдан алынған сандарды енгізіп, тексеріп көріңіз.
Мен 1,2,3,4,5,0 сандарын енгіздім. Нәтижесі мынадай:return

Ал енді break орнына return-ды енгізіп көрейік:
static void Main(string[] args)
        {

            int a = 0, b;
            while (true)
            {
                b = int.Parse(Console.ReadLine());
                if (b == 0)
                    return;
                a += b;
            }
            Console.WriteLine("Барлык енгiзiлген сандардын косындысы = " + a);
            Console.ReadKey();
        }

Содан соң кодымызды тексеруден өткізейік:
return
Қателеспесем, «ескерту» берілуі керек:
return
Онысына қарамай-ақ, бағдарламаны қосып жібердік-ал:
1,2,3,4,5,0 сандарын енгіздім:
Қалайша 0-ді енгіздім, заматында бағдарламам жабылып қалды.
Неге?
Себебі: return while циклынан емес, static void Main(string [] args) методынан толықтай шығарып тастады.
Айырмашылығын ұққан боларсыздар ;)

Бұл кішігірім жазбада return-ның break-тен айырмашылығын ғана жаздым. Кешірек толығырақ жазып көрейін.

3 пікір

avatar
Машалла, тема брат. Оте карапайым жане тусиникти мысал :)
avatar
раҚмет.
Өзім осылай әрбір үтір, нүктесіне тоқтап түсіндіргенде жақсырақ ұғамын. Сол себепті өзім сияқтыларға арнап «отдуши» езгенмін ғой.

Гудоктын шәкіртi.
Тек қана тіркелген және авторизациядан өткен қолданушылар пікір қалдыра алады.