C # - Methoden
Eine Methode ist eine Gruppe von Anweisungen, die zusammen eine Aufgabe ausführen. Jedes C # -Programm hat mindestens eine Klasse mit einer Methode namens Main.
Um eine Methode zu verwenden, müssen Sie -
- Definieren Sie die Methode
- Rufen Sie die Methode auf
Methoden in C # definieren
Wenn Sie eine Methode definieren, deklarieren Sie grundsätzlich die Elemente ihrer Struktur. Die Syntax zum Definieren einer Methode in C # lautet wie folgt:
<Access Specifier> <Return Type> <Method Name>(Parameter List) {
Method Body
}
Es folgen die verschiedenen Elemente einer Methode -
Access Specifier - Dies bestimmt die Sichtbarkeit einer Variablen oder einer Methode aus einer anderen Klasse.
Return type- Eine Methode kann einen Wert zurückgeben. Der Rückgabetyp ist der Datentyp des Werts, den die Methode zurückgibt. Wenn die Methode keine Werte zurückgibt, lautet der Rückgabetypvoid.
Method name- Der Methodenname ist eine eindeutige Kennung und unterscheidet zwischen Groß- und Kleinschreibung. Es kann nicht mit jedem anderen in der Klasse deklarierten Bezeichner identisch sein.
Parameter list- In Klammern stehen die Parameter, mit denen Daten von einer Methode übergeben und empfangen werden. Die Parameterliste bezieht sich auf den Typ, die Reihenfolge und die Anzahl der Parameter einer Methode. Parameter sind optional; Das heißt, eine Methode darf keine Parameter enthalten.
Method body - Diese enthält die Anweisungen, die zum Ausführen der erforderlichen Aktivität erforderlich sind.
Beispiel
Das folgende Codefragment zeigt eine Funktion FindMax , die zwei ganzzahlige Werte annimmt und den größeren der beiden zurückgibt. Es verfügt über einen öffentlichen Zugriffsspezifizierer, sodass von außerhalb der Klasse mit einer Instanz der Klasse darauf zugegriffen werden kann.
class NumberManipulator {
public int FindMax(int num1, int num2) {
/* local variable declaration */
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
...
}
Methoden in C # aufrufen
Sie können eine Methode mit dem Namen der Methode aufrufen. Das folgende Beispiel veranschaulicht dies -
using System;
namespace CalculatorApplication {
class NumberManipulator {
public int FindMax(int num1, int num2) {
/* local variable declaration */
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
static void Main(string[] args) {
/* local variable definition */
int a = 100;
int b = 200;
int ret;
NumberManipulator n = new NumberManipulator();
//calling the FindMax method
ret = n.FindMax(a, b);
Console.WriteLine("Max value is : {0}", ret );
Console.ReadLine();
}
}
}
Wenn der obige Code kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:
Max value is : 200
Sie können die öffentliche Methode auch aus anderen Klassen aufrufen, indem Sie die Instanz der Klasse verwenden. Beispielsweise gehört die Methode FindMax zur NumberManipulator- Klasse, die Sie aus einer anderen Klasse Test aufrufen können .
using System;
namespace CalculatorApplication {
class NumberManipulator {
public int FindMax(int num1, int num2) {
/* local variable declaration */
int result;
if(num1 > num2)
result = num1;
else
result = num2;
return result;
}
}
class Test {
static void Main(string[] args) {
/* local variable definition */
int a = 100;
int b = 200;
int ret;
NumberManipulator n = new NumberManipulator();
//calling the FindMax method
ret = n.FindMax(a, b);
Console.WriteLine("Max value is : {0}", ret );
Console.ReadLine();
}
}
}
Wenn der obige Code kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:
Max value is : 200
Rekursiver Methodenaufruf
Eine Methode kann sich selbst aufrufen. Dies ist bekannt alsrecursion. Das folgende Beispiel berechnet die Fakultät für eine bestimmte Zahl mithilfe einer rekursiven Funktion:
using System;
namespace CalculatorApplication {
class NumberManipulator {
public int factorial(int num) {
/* local variable declaration */
int result;
if (num == 1) {
return 1;
} else {
result = factorial(num - 1) * num;
return result;
}
}
static void Main(string[] args) {
NumberManipulator n = new NumberManipulator();
//calling the factorial method {0}", n.factorial(6));
Console.WriteLine("Factorial of 7 is : {0}", n.factorial(7));
Console.WriteLine("Factorial of 8 is : {0}", n.factorial(8));
Console.ReadLine();
}
}
}
Wenn der obige Code kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:
Factorial of 6 is: 720
Factorial of 7 is: 5040
Factorial of 8 is: 40320
Parameter an eine Methode übergeben
Wenn eine Methode mit Parametern aufgerufen wird, müssen Sie die Parameter an die Methode übergeben. Es gibt drei Möglichkeiten, wie Parameter an eine Methode übergeben werden können:
Sr.Nr. | Mechanismus & Beschreibung |
---|---|
1 | Wertparameter
Diese Methode kopiert den tatsächlichen Wert eines Arguments in den formalen Parameter der Funktion. In diesem Fall haben Änderungen am Parameter innerhalb der Funktion keine Auswirkung auf das Argument. |
2 | Referenzparameter
Diese Methode kopiert den Verweis auf den Speicherort eines Arguments in den formalen Parameter. Dies bedeutet, dass Änderungen am Parameter das Argument beeinflussen. |
3 | Ausgabeparameter
Diese Methode hilft bei der Rückgabe von mehr als einem Wert. |