Ако креирате апликацију у Ц#, бићете навикли да позивате функције да бисте вратили одређене вредности. Понекад могу постојати случајеви у којима ћете можда морати да вратите више вредности из једне функције.
Постоје различити начини на које то можете постићи. Један је да се врати неколико вредности унутар једног низа. Такође можете доделити вредности вишеструким глобалним променљивим, из унутрашњости функције.
У зависности од ваше пословне логике, захтева обима или конвенција, други начин да се то постигне је коришћење параметара.
Шта је излазни параметар?
Стандардни начин враћања вредности из функције је коришћење кључне речи „ретурн“. Ако нисте упознати са тим шта је функција, можете прочитати више о томе функције у програмирању. Такође можете истражити друге основни принципи програмирања.
статичнепразнина Калкулација()
{
дупло број = 30;
повратак број;
}
Други начин за преузимање вредности из функције је коришћење параметра „оут“. Можете декларисати излазни параметар унутар потписа методе. Затим можете користити кључну реч „оут“ да бисте означили да је параметар излазни параметар.
Уместо да користите кључну реч ретурн, увек морате да доделите вредност параметру оут.
статичнепразнинаКалкулација(напоље дупло број)
{
број = 30;
}
Када позовете метод Цалцулатион(), унесите променљиву за излазни параметар. Програм ће добити вредност променљиве "нумбер" унутар функције Цалцулатион() и доделити је унетој променљивој. У овом случају ће бити исписана вредност "30".
дупло број = 0;
// Добија вредност променљиве "нумбер" унутар функције Цалцулатион(), која је 30.
Обрачун (излазни број);
// Штампа број 30
Конзола.ВритеЛине(број);
Како креирати функцију са излазним параметром
Направите функцију унутар нове Ц# конзолне апликације и дајте параметру кључну реч „оут“.
- Отворите Висуал Студио на рачунару и кликните на Креирајте нови пројекат.
- Изаберите Конзола апликација, и кликните на Следећи.
- Именујте свој пројекат и изаберите локацију за чување датотека Висуал Студио-а. Кликните на Следећи.
- Кликните на Креирај. Висуал Студио ће генерисати почетни код за једноставну конзолну апликацију.
- Испод функције Маин() креирајте нову функцију под називом ЦалцулатеТакСалари(). Циљ ове функције је да се одбије порез од плате особе да би се израчунала њихова примања.
статичнедуплоЦалцулатеТакСалари(инт плата, ван дупло такедАмоунт)
{
} - Унутар функције додајте обрачун за плату која се узима кући након опорезивања. Врати резултат.
статичнедуплоЦалцулатеТакСалари(инт плата)
{
констдупло пореска стопа = 0.3;
дупло такеХомеСалари = плата - (плата * пореска стопа);
повратак такеХомеСалари;
} - Уклоните подразумевани излаз „Хелло Ворлд“ у главној функцији. Уместо тога, позовите функцију ЦалцулатеТакСалари(). Одштампајте резултат враћен из функције на конзолу.
статичнепразнина Главни (стринг[] аргументи)
{
дупло такеХомеСалари = ИзрачунајТакСалари(100000);
Конзола. ВритеЛине($"Плата која се може узети кући из $ 100,000је $ {такеХомеСалари}");
} - Измените функцију ЦалцулатеТакСалари() тако да морате да вратите и другу вредност. Друга вредност ће садржати опорезовани износ. Пошто већ користите наредбу ретурн за враћање вредности, уместо тога користите параметар оут. Додајте параметар такедАмоунт у потпис методе.
статичнедуплоЦалцулатеТакСалари(инт плата, ван дупло такедАмоунт)
- Унутар функције ЦалцулатеТакСалари() израчунајте износ пореза који се примењује на плату. Доделите резултат променљивој такедАмоунт.
статичнедуплоЦалцулатеТакСалари(инт плата, ван дупло такедАмоунт)
{
констдупло пореска стопа = 0.3;
такедАмоунт = плата * пореска стопа;
дупло такеХомеСалари = плата - такедАмоунт;
повратак такеХомеСалари;
}
Како вратити вредност из излазног параметра
Да бисте преузели вредност излазног параметра, позовите функцију и сачувајте вредност излазног параметра у локалној променљивој.
- Уклоните постојећи код из функције Маин(). Креирајте нову променљиву за чување опорезованог износа.
дупло такедАмоунт = 0;
- Позовите функцију ЦалцулатеТакСалари(). Функција ће вратити плату која се узима кући користећи повратну изјаву. Функција ће такође преузети вредност из променљиве такедАмоунт, користећи параметар оут. Он ће сачувати вредност у променљивој такедАмоунт унутар главне функције.
дупло такеХомеСалари = ИзрачунајТакСалари(100000, оут такедАмоунт);
Конзола. ВритеЛине($"Плата која се може узети кући из $ 100,000је $ {такеХомеСалари}. Износ који је био опорезован је био $ {такедАмоунт}.");
Како користити више излазних параметара
Да бисте користили више излазних параметара, креирајте функцију и додајте кључну реч оут свим параметрима из којих желите да вратите вредност.
- Направите нову функцију под називом МултиплеВалуес(). Додајте три излазна параметра и доделите вредност сваком од њих.
статичнепразнинаМултиплеВалуес(напоље инт а, ван инт б, ван инт ц)
{
а = 10;
б = 20;
ц = 30;
} - У функцији Маин() креирајте локалне променљиве за сваку од три вредности.
инт а = 0;
инт б = 0;
инт ц = 0; - Позовите функцију МултиплеВалуес() да вратите три вредности кроз излазне параметре.
МултиплеВалуес (оут а, оут б, оут ц);
Конзола. ВритеЛине($"а: {а}, б: {б}, ц: {ц}");
Како покренути апликацију конзоле
Када покренете апликацију, отвориће се прозор командне линије да вам покаже све одштампане изјаве у вашој апликацији.
- На врху апликације Висуал Студио кликните на зелено дугме за репродукцију да бисте покренули апликацију конзоле.
- Висуал Студио ће компајлирати програм и отворити командну линију. Командна линија ће приказати излазне резултате. Ово укључује вредности које су функције вратиле као излазне параметре.
Коришћење излазних параметара у Ц# апликацијској конзоли
У Ц#, оут параметри вам омогућавају да вратите више од једне вредности из функције. Можете декларисати више излазних параметара у потпису методе и доделити вредности овим променљивим унутар функције. Када позовете функцију, можете да преузмете вредности сачуване у овим излазним параметрима и да их користите на другим местима у апликацији.
Ако имате посла са сложеним објектима и групама података, такође можете вратити објекте на основу класе. Можете истражити више о томе како да креирате и користите класе у Ц#.