Params sind ein sehr wichtiges Schlüsselwort in C#. Wir haben param verwendet, als wir die Anzahl der Argumente als Variable angeben wollten. Daher wird es verwendet, wenn der Entwickler die Anzahl der zu verwendenden Parameter nicht kennt. Nach dem C#-Schlüsselwort Params sind in der Funktion keine weiteren Parameter zulässig. Wenn wir keine Argumente übergeben, bleibt die Länge der Parameter Null. Wir können durch Kommas getrennte Werte oder Arrays senden.
Schlüsselwort: params
using System; namespace Examples { class Test { // function containing params parameters public static int Addittion(params int[] ListNumbers) { int total = 0; // foreach loop foreach(int i in ListNumbers) { total += i; } return total; } // Driver Code static void Main(string[] args) { // Calling function by passing 5 // arguments as follows int y = Addittion (12,13,10,15,56); // Displaying result Console.WriteLine(y); } } }
Ausgabe:
Mit params Schlüsselwort:
static public int add(params int[] args) { int add1 = 0; foreach (var item in args) add1= add1+item + 2; return add1; }
Ohne Parameter Schlüsselwort:
static public int add(int[] args) { int add = 0; foreach (var item in args) add1 = add1+item + 2; return add1; }
Mit param können wir die Methode wie add(1,4,5) aufrufen, aber ohne param geht das nicht.
Die folgenden Beispiele zeigen, wie wir Parameter in C# implementieren können.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Params { class Demo { public void Show(params int[] num) // Params Paramater { for (int a = 0; a < num.Length; a++) { Console.WriteLine(num[a]); } } static void Main(string[] args) // main function { Demo program = new Demo(); // Creating Object program.Show(20, 4, 64, 3, 20, 2, 14); // Passing arguments of variable length Console.ReadLine(); } } }
Im obigen Beispiel wird ein param-Schlüsselwort verwendet, das jeden Typ und jede Anzahl von Typen zulässt. Dann, nachdem wir das Objekt erstellt haben, übergeben wir mehrere Argumente an display.
Ausgabe:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Params { class Demo { public void Show(params object[] val) // Params Paramater { for (int a = 0; a < val.Length; a++) { Console.WriteLine(val[a]); } } static void Main(string[] args) // main method { Demo program = new Demo(); // Creating Object program.Show("Javascript", "Dotnet", 11, 10.50, "Param", 'h',"Example"); // Passing arguments of variable length Console.ReadLine(); } } }
Im obigen Beispiel wird ein param-Schlüsselwort verwendet, das jeden Typ und jede Anzahl von Typen zulässt. Nachdem wir ein Objekt erstellt haben, übergeben wir mehrere Argumente an display. Hier sehen Sie die Argumente der verschiedenen Datentypen.
Ausgabe:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Params { class Demo { public static int Addition(params int[] num) // params parameter { int add = 0; // foreach loop foreach (int a in num) { add += a; } return add; } static void Main(string[] args) { int x = Addition(23, 45, 2, 36, 76); // call function // Displaying result Console.WriteLine(x); Console.ReadLine(); } } }
Im obigen Beispiel wird ein Array verwendet, und es ist nicht erforderlich, die Größe eines Arrays anzugeben, da ein param-Schlüsselwort verwendet wird, das jeden Typ und jede Nummer des Arguments zulässt. Die Zahlen haben das folgende Format.
[0] 25Ausgabe:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Params { class Demo { static void Main() { // Call params method with five integer type arguments int cal1 = calParameters(7); int cal2 = calParameters(11, 23); int cal3 = calParameters(46, 8, 45); int cal4 = calParameters(23, 31, 21, 45); int cal5 = calParameters(12, 12, 54, 76); // display result of each calculations Console.WriteLine(cal1); Console.WriteLine(cal2); Console.WriteLine(cal3); Console.WriteLine(cal4); Console.WriteLine(cal5); Console.ReadLine(); } static int calParameters(params int[] values) { int sum = 0; foreach (int value in values) // foreach loop and sum of integers { sum += value; } return sum; } } }
Es gibt fünf Argumente, für die im obigen Beispiel ein param-Schlüsselwort verwendet wird. Alle Argumente sind vom Typ Integer. Eine foreach-Schleife wird verwendet, um die Summe jedes Arguments anzuzeigen.
Ausgabe:
public void test(params int[] args) { } test(); // no compile-time error, args will be empty
Aber wenn Sie ein Array verwenden:
public void test(int[] args) { } test(); // error: No overload for 'Foo' takes 0 arguments
Wenn wir also keine Argumente übergeben, bleibt die Länge der Parameter Null. Das Schlüsselwort param muss das letzte in der Parameterliste sein; andernfalls wird ein Fehler ausgegeben.
Beispiel:
public void test(params int[] args,int value) { }
Diese Erklärung ist nicht zulässig.
Das obige ist der detaillierte Inhalt vonC#-Parameter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!