Ի՞նչ է Out պարամետրը C#-ում:
Պե՞տք է արդյոք ֆունկցիայից վերադարձնել մեկից ավելի արժեք: Դրսի պարամետրերը պատասխանն են:
Եթե C#-ով հավելված եք ստեղծում, դուք սովոր կլինեք կանչել գործառույթներ՝ որոշակի արժեքներ վերադարձնելու համար: Երբեմն կարող են լինել դեպքեր, երբ ձեզ հարկավոր է մեկ ֆունկցիայից վերադարձնել մի քանի արժեք:
Կան տարբեր ուղիներ, որոնցով դուք կարող եք հասնել դրան: Մեկը մեկ զանգվածի ներսում մի քանի արժեք վերադարձնելն է: Կարող եք նաև արժեքներ վերագրել բազմաթիվ գլոբալ փոփոխականներին՝ ֆունկցիայի ներսից:
Կախված ձեր բիզնեսի տրամաբանությունից, շրջանակի պահանջներից կամ կոնվենցիաներից՝ դրան հասնելու մեկ այլ միջոց է օգտագործել պարամետրերը:
Ի՞նչ է Out պարամետրը:
Ֆունկցիայից արժեք վերադարձնելու ստանդարտ եղանակը «վերադարձ» բանալի բառի օգտագործումն է: Եթե դուք չգիտեք, թե ինչ է ֆունկցիան, կարող եք կարդալ ավելին ծրագրավորման գործառույթների մասին: Կարող եք նաև ուսումնասիրել ծրագրավորման այլ հիմնական սկզբունքներ:
static void Calculation()
{
double number = 30;
return number;
}
Գործառույթից արժեք ստանալու մեկ այլ միջոց է օգտագործել «out» պարամետրը: Դուք կարող եք հայտարարել դուրս պարամետր մեթոդի ստորագրության մեջ: Այնուհետև կարող եք օգտագործել «դուրս» հիմնաբառը՝ նշելու, որ պարամետրը դուրս պարամետր է:
Վերադարձի բանալի բառ օգտագործելու փոխարեն, դուք միշտ պետք է արժեք նշանակեք out պարամետրին:
static void Calculation(out double number)
{
number = 30;
}
Երբ կանչում եք Calculation() մեթոդը, փոխանցեք փոփոխական out պարամետրի համար: Ծրագիրը կստանա Calculation() ֆունկցիայի ներսում «թիվ» փոփոխականի արժեքը և այն վերագրելու է մուտքագրված փոփոխականին: Այս դեպքում դուրս կգա «30» արժեքը:
double number = 0;
// Gets the value of the "number" variable inside the Calculation() function, which is 30.
Calculation(out number);
// Prints the number 30
Console.WriteLine(number);
Ինչպես ստեղծել ֆունկցիա Out պարամետրով
Ստեղծեք ֆունկցիա C# կոնսոլի նոր հավելվածի ներսում և պարամետրին տվեք «out» բանալի բառը:
Բացեք Visual Studio-ն ձեր համակարգչում և սեղմեք Ստեղծել նոր նախագիծ:
Ընտրեք Վահանակով հավելված և սեղմեք Հաջորդը:
Անվանեք ձեր նախագիծը և ընտրեք վայր՝ ձեր Visual Studio ֆայլերը պահելու համար: Սեղմեք Հաջորդը:
-
Սեղմեք Ստեղծել: Visual Studio-ն կստեղծի մեկնարկային կոդը պարզ կոնսոլային հավելվածի համար:
Main() ֆունկցիայի տակ ստեղծեք նոր ֆունկցիա, որը կոչվում է CalculateTaxSalary(): Այս գործառույթի նպատակն է հանել հարկը անձի աշխատավարձից՝ նրանց տնային աշխատավարձը հաշվարկելու համար:
static double CalculateTaxSalary(int salary, out double taxedAmount) { }
Ֆունկցիայի ներսում ավելացրե՛ք հարկումից հետո տնային աշխատավարձի հաշվարկը։ Վերադարձրեք արդյունքը։
static double CalculateTaxSalary(int salary) { const double taxRate = 0.3; double takeHomeSalary = salary - (salary * taxRate); return takeHomeSalary; }
Հեռացրեք «Hello World» լռելյայն ելքը Հիմնական գործառույթից: Փոխարենը զանգահարեք CalculateTaxSalary() ֆունկցիան։ Գործառույթից վերադարձված արդյունքը տպեք վահանակ:
static void Main(string[] args) { double takeHomeSalary = CalculateTaxSalary(100000); Console.WriteLine($"The take-home salary from $ 100,000 is $ {takeHomeSalary}"); }
Փոփոխեք CalculateTaxSalary() ֆունկցիան այնպես, որ դուք նույնպես պետք է վերադարձնեք երկրորդ արժեքը: Երկրորդ արժեքը կպարունակի հարկվող գումարը: Քանի որ դուք արդեն օգտագործում եք վերադարձի հայտարարությունը արժեք վերադարձնելու համար, փոխարենը օգտագործեք out պարամետր: Ավելացրեք taxedAmount out պարամետր մեթոդի ստորագրությանը:
static double CalculateTaxSalary(int salary, out double taxedAmount)
CalculateTaxSalary() ֆունկցիայի ներսում հաշվարկեք աշխատավարձի վրա կիրառվող հարկի գումարը: Արդյունքը վերագրեք taxedAmount փոփոխականին:
static double CalculateTaxSalary(int salary, out double taxedAmount) { const double taxRate = 0.3; taxedAmount = salary * taxRate; double takeHomeSalary = salary - taxedAmount; return takeHomeSalary; }
Ինչպես վերադարձնել արժեքը Out պարամետրից
Out պարամետրի արժեքը ստանալու համար կանչեք ֆունկցիան և պահեք out պարամետրի արժեքը տեղական փոփոխականում:
Հեռացրեք գոյություն ունեցող կոդը Main() ֆունկցիայից: Ստեղծեք նոր փոփոխական՝ հարկվող գումարը պահելու համար:
double taxedAmount = 0;
Զանգահարեք CalculateTaxSalary() ֆունկցիան: Ֆունկցիան կվերադարձնի տնային աշխատավարձը՝ օգտագործելով վերադարձի քաղվածքը: Ֆունկցիան նաև կվերցնի արժեքը taxedAmount փոփոխականից՝ օգտագործելով out պարամետրը: Այն կպահի արժեքը taxedAmount փոփոխականում՝ հիմնական ֆունկցիայի ներսում:
double takeHomeSalary = CalculateTaxSalary(100000, out taxedAmount); Console.WriteLine($"The take-home salary from $ 100,000 is $ {takeHomeSalary}. The amount that was taxed was $ {taxedAmount}.");
Ինչպես օգտագործել մի քանի ելքային պարամետրեր
Բազմաթիվ արտարման պարամետրեր օգտագործելու համար ստեղծեք ֆունկցիա և ավելացրեք out հիմնաբառը բոլոր այն պարամետրերին, որոնցից ցանկանում եք արժեք վերադարձնել:
Ստեղծեք նոր ֆունկցիա, որը կոչվում է MultipleValues(): Ավելացրեք երեք պարամետր և արժեք նշանակեք դրանցից յուրաքանչյուրին:
static void MultipleValues(out int a, out int b, out int c) { a = 10; b = 20; c = 30; }
Main() ֆունկցիայում ստեղծեք տեղական փոփոխականներ երեք արժեքներից յուրաքանչյուրի համար:
int a = 0; int b = 0; int c = 0;
Կանչեք MultipleValues() ֆունկցիան՝ դուրս պարամետրերով երեք արժեքները վերադարձնելու համար:
MultipleValues(out a, out b, out c); Console.WriteLine($"a: {a}, b: {b}, c: {c}");
Ինչպես գործարկել կոնսոլի հավելվածը
Երբ դուք գործարկում եք հավելվածը, հրամանի տողի պատուհանը կբացվի, որը ցույց կտա ձեր դիմումի ցանկացած տպագիր հայտարարություն:
Visual Studio հավելվածի վերևում կտտացրեք կանաչ նվագարկման կոճակին՝ վահանակի հավելվածը սկսելու համար:
Visual Studio-ն կկազմի ծրագիրը և կբացի հրամանի տող: Հրամանի տողը կցուցադրի ելքային արդյունքները: Սա ներառում է այն արժեքները, որոնք ֆունկցիաները վերադարձրել են որպես դուրս պարամետրեր:
Պարամետրերի օգտագործումը C# հավելվածի վահանակում
C#-ում out պարամետրերը թույլ են տալիս ֆունկցիայից մեկից ավելի արժեք վերադարձնել: Դուք կարող եք հայտարարել մեթոդի ստորագրության մեջ մի քանի պարամետր և արժեքներ վերագրել այս փոփոխականներին ֆունկցիայի ներսում: Երբ զանգում եք ֆունկցիան, կարող եք առբերել այս դուրս պարամետրերում պահված արժեքները և օգտագործել դրանք հավելվածի այլ վայրերում:
Եթե դուք գործ ունեք բարդ օբյեկտների և տվյալների խմբերի հետ, կարող եք նաև վերադարձնել առարկաներ՝ հիմնված դասի վրա: Կարող եք ավելին ուսումնասիրել C#-ում դասեր ստեղծելու և օգտագործելու մասին: