C# 參數

WBOY
發布: 2024-09-03 15:19:00
原創
285 人瀏覽過

Params 是 C# 中非常重要的關鍵字。當我們想要將參數的數量作為變數給出時,我們使用 param 。因此當開發人員不知道將使用的參數數量時使用它。 C# 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# 參數

有參數關鍵字:

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# 中實作參數。

範例#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 關鍵字的五個參數。所有參數都是整數型。 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中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板