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); } } }
輸出:
有參數關鍵字:
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# 中實作參數。
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 關鍵字,允許任何類型和類型數量。然後,在建立物件後,我們傳遞幾個參數來顯示。
輸出:
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 關鍵字,允許任何類型和類型數量。創建物件後,我們傳遞幾個參數來顯示。在這裡您可以看到不同資料類型的參數。
輸出:
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輸出:
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 迴圈用於顯示每個參數的總和。
輸出:
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中文網其他相關文章!