c functions methods tutorial with code examples
Този урок обяснява какви са функциите в програмирането на C # с прости примери. Ще научите и основните разлики между функциите и методите:
Разгледахме всичко за Loops в C # заедно с неговите типове и примери в предишния ни урок.
В този урок ще се съсредоточим върху функциите в C # с прости примери за лесното ви разбиране.
unix командва интервю въпроси и отговори pdf
=> БЕЗПЛАТНИ Уроци за обучение на C # за всички
Какво ще научите:
Въведение във функциите в C #
В C # функция се дефинира като техника за опаковане на код за изпълнение на определена задача и след това връщане на стойност. Той е доста по-различен от предходните езици за програмиране като C или C ++. Тук функциите не съществуват сами. Функциите са част от подхода на ООП.
Функцията е член на класа. Той е същият като метод и понякога и двата термина се използват взаимозаменяемо. Но има малко основни разлики между методите и функциите.
Разлика между метод и функции
Въпреки че и двете са сходни в много сетива и езици. Основната разлика между методите и функциите е, че методът има празнота като тип на връщане, докато функцията има тип на връщане.
Ако разгледате разликите, без да изберете конкретен език за програмиране, тогава функцията може да бъде дефинирана като част от код, който има име и аргументи за операции, споменати в скобите. Всички аргументи на функция са изрични по природа.
Сега, от друга страна, методът може да се разглежда като функция, която действа като обект. Това е план на екземпляр на клас. Методът винаги има неявни аргументи.
В този урок ще използваме взаимозаменяемо термините Методи и функции за удобство.
Функции в C #
Функция позволява на програмистите да приложат парче код и след това да извикат тази част от кода от друга част на програмата. Доста полезно е, когато трябва да стартирате един и същ код от различни места.
В C # функциите имат следния синтаксис:
() { return; }
Както обсъждахме в предишните ни уроци, Access посочва, параметрите и типовете връщане не са задължителни. Нека създадем функции с различни опции.
Функция с параметър, но без тип връщане
Нека създадем функция, като предоставим някои параметри, без да връщаме нищо.
class Program { // function without any return type declaration public void square(int nmbr) { int sq = nmbr * nmbr; Console.WriteLine('Square of the given number is ' + sq); // Don’t provide any return statement } public static void Main(string[] args) { Program pr = new Program(); // Creating a class Object pr.square( 2); //calling the method } } }
В горната програма създадохме функция „квадрат“, като предоставихме цяло число параметър, т.е. „nmbr“. След това в скобите сме дефинирали кодовия фрагмент, без да предоставяме какъвто и да е връщащ тип на функцията. В крайна сметка създадохме обект на клас и извикахме функцията “квадрат”, като предадохме целочислена стойност като аргумент.
Изход
Квадратът на даденото число е 4
Нека да разгледаме друг пример, за да изясним нещата.
Функция и с двата параметъра Aи връщане тип
Нека направим някои промени в горния пример и добавим тип връщане.
class Program { // function with integer return type declaration public int square(int nmbr) { int sq = nmbr * nmbr; // Lets provide a return statement return sq; } public static void Main(string[] args) { Program pr = new Program(); // Creating a class Object int rslt = pr.square( 2); //Calling the method and assigning the value to an integer type Console.WriteLine('Square of the given number is '+ rslt); //Printing the result } } }
В горната програма създадохме функция 'квадрат', като предоставихме цяло число параметър, т.е. 'nmbr' и цяло число тип връщане. След това в скобите дефинирахме кодовия фрагмент, последван от оператор return.
как да напиша css селектор в селен -
Вътре в основната функция създадохме обект на клас и извикахме функцията “квадрат”, като предадохме целочислена стойност като аргумент. Тъй като има асоцииран тип връщане, след това съхранихме функцията в целочислена променлива. В крайна сметка отпечатахме резултата.
Изход
Квадратът на даденото число е 4
C # Обаждане по стойност
В езика за програмиране C #, когато извикаме функция, тя взема параметър от основната функция, използвайки обекта на класа. Тогава обектът на класа вътре в основната функция ще копира функцията в стойностите на параметрите. Когато използваме повикване по стойност, дори ако в метода настъпят някои промени, които няма да бъдат прехвърлени в оригиналната променлива.
Пример:
class Program { public void square(int nmbr) { int nmbr = nmbr * nmbr; // Lets provide a return statement Console.WriteLine('Square of the given number is ' + nmbr); } public static void Main(string[] args) { int nmbr = 2; // Value assigned before calling function Program pr = new Program(); // Creating a class Object pr.square( nmbr); //calling the method and assigning the defined integer Console.WriteLine('The given number is ' + nmbr); //printing the value } } }
Така че, ако изпълним горната програма, ще намерим следния изход:
Квадратът на даденото число е 4
Даденото число е 2
Обяснение
В горния пример дефинирахме цяло число променлива “nmbr” със стойност 2. След това извикахме квадратната функция, като предадохме променливата като аргумент. Следователно променливата, която предадохме, се превърна в умножение на себе си (поради работата на функцията) и отпечата резултата.
В основната функция в края отпечатваме променливата, която дефинирахме по-рано. Както виждаме, няма промяна в стойността на променливата на функцията (където тя е дефинирана), но се промени, когато я предадохме като аргумент за друга функция.
Както обсъждахме по-рано, когато извикваме по стойност, всяка промяна, която ще се случи на променливата в метод, няма да бъде прехвърлена към първоначалната променлива. Следователно, когато изпълнихме операцията за печат на променливата, тя все още ни дава предварително дефинирания изход.
C # Обаждане чрез справка
C # предлага ключова дума „ref“ за предаване на аргумент като референтен тип за функция. За разлика от извикването на стойността, той не предава променливата на функцията след създаване на копие на променливата.
ethernet шлюзът по подразбиране не е наличен
Той предава препратката към първоначалната стойност към функцията, следователно всяка промяна, която се случва в посочената стойност, е постоянна и се отразява и в оригиналната стойност.
Нека използваме същия пример като по-рано, но вместо да използваме повикване от стойността, ще използваме повикване чрез препратка:
class Program { public void square(int nmbr) { int nmbr = nmbr * nmbr; // Lets provide a return statement Console.WriteLine('Square of the given number is ' + nmbr); } public static void Main(string[] args) { int nmbr = 2; // Value assigned before calling function Program pr = new Program(); // Creating a class Object pr.square( ref nmbr); //calling by reference using ref keyword Console.WriteLine('The given number is ' + nmbr); //printing the value } } }
Така че, ако изпълним програмата, ще намерим следния изход:
Квадратът на даденото число е 4
Даденото число е 4
Обяснение
В горния пример дефинирахме цяло число променлива “nmbr” със стойност 2. След това извикахме квадратната функция, като предадохме променливата като аргумент. И така, променливата, която предадохме, се промени в умножение на себе си (поради операция във функцията) и отпечата резултата, т.е.4.
В основната функция в края отпечатваме променливата, която дефинирахме по-рано. Както можем да видим, че е имало промени в стойността на променливата във функцията, където тя е била препратена и оперирана. Тъй като функцията изпълнява операцията и стойността на променливата се променя на 4, същото се отразява в изхода на конзолата.
Както обсъждахме по-рано, когато извикваме чрез препратка, всяка промяна, която ще се случи на променливата в метод, ще бъде прехвърлена към първоначалната променлива. Следователно, когато извършихме операцията за печат на променливата, тя ще отпечата текущия изход, т.е.4.
Заключение
В този урок научихме за функциите в програмирането на C #. Техниката за увиване на кода се нарича функция.
В езици за програмиране като C и C ++ функцията се дефинира като кодов фрагмент с име и аргументи за извършване на операцията, описана в скобите.
Също така научихме основната разлика между функциите и методите и разгледахме няколко примера, за да обясним използването на параметрите и типовете връщане.
=> Вижте тук уроците за задълбочено обучение за C #
Препоръчително четене
- Урок за Python DateTime с примери
- Функции на низовете на Python
- Урок за основната функция на Python с практически примери
- Урок за SVN: Управление на изходния код с помощта на Subversion
- Функции за дата и час в C ++ с примери
- Tortoise SVN Tutorial: Ревизии в кодовото хранилище
- Урок за AWS CodeBuild: Извличане на код от Maven Build
- Урок за скриптове на Unix Shell с примери