Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Parameter

C#-Parameter

WBOY
WBOYOriginal
2024-09-03 15:19:00254Durchsuche

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:

C#-Parameter

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.

Beispiele für C#-Parameter

Die folgenden Beispiele zeigen, wie wir Parameter in C# implementieren können.

Beispiel #1

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:

C#-Parameter

Beispiel #2

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:

C#-Parameter

Beispiel #3

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] 25
[1] 45
[2]  2
[3]  36
[4]  76

Ausgabe:

C#-Parameter

Beispiel #4

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:

C#-Parameter

Wie unterscheidet es sich von einem Array?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:C# HashSetNächster Artikel:C# HashSet