C# パラメータ

WBOY
WBOYオリジナル
2024-09-03 15:19:00271ブラウズ

Params は C# において非常に重要なキーワードです。引数の数を変数として指定したい場合は、param を使用しました。したがって、開発者が使用されるパラメータの数がわからない場合に使用されます。 C# Params キーワードの後に​​、関数内で追加のパラメーターを使用することはできません。引数を渡さない場合、params の長さはゼロのままになります。カンマ区切りの値または配列を送信できます。

キーワード: 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);
}
}
}

出力:

C# パラメータ

params キーワードあり:

static public int add(params int[] args)
{
int add1 = 0;
foreach (var item in args)
add1= add1+item + 2;
return add1;
}

パラメータなし キーワード:

static public int add(int[] args)
{
int add = 0;
foreach (var item in args)
add1 = add1+item + 2;
return add1;
}

param を使用すると、add(1,4,5) のようなメソッドを呼び出すことができますが、param がないと実行できません。

C# パラメータの例

次の例は、C# で params を実装する方法を示しています。

例 #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();
}
}
}

上記の例では、param キーワードが使用されており、任意のタイプとタイプの数を許可しています。次に、オブジェクトを作成した後、表示するためにいくつかの引数を渡します。

出力:

C# パラメータ

例 #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();
}
}
}

上記の例では、param キーワードが使用されており、任意のタイプとタイプの数を許可しています。オブジェクトを作成した後、表示するためにいくつかの引数を渡します。ここで、さまざまなデータ型の引数を確認できます。

出力:

C# パラメータ

例 #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();
}
}
}

上記の例では配列が使用されており、param キーワードが使用されているため、配列のサイズについて言及する必要はありません。これにより、任意の型と数の引数が許可されます。  数値は次の形式になります。

[0] 25
[1] 45
[2] 2
[3] 36
[4] 76

出力:

C# パラメータ

例 #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;
}
}
}

上記の例では、param キーワードが使用されている引数が 5 つあります。すべての引数は整数型です。 foreach ループは、各引数の合計を表示するために使用されます。

出力:

C# パラメータ

配列との違いは何ですか?

public void test(params int[] args) { }
test(); // no compile-time error, args will be empty

ただし、配列を使用する場合:

public void test(int[] args) { }
test(); // error: No overload for 'Foo' takes 0 arguments

したがって、引数を渡さない場合、params の長さはゼロのままになります。 Param キーワードはパラメータ リストの最後になければなりません。それ以外の場合は、エラーが発生します。

例:

public void test(params int[] args,int value) { }

この宣言は許可されません。

以上がC# パラメータの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。