Params ialah kata kunci yang sangat penting dalam C#. Kami menggunakan param apabila kami ingin memberikan bilangan argumen sebagai pembolehubah. Jadi ia digunakan apabila pembangun tidak mengetahui bilangan parameter yang akan digunakan. Selepas kata kunci C# Params, tiada param tambahan akan dibenarkan dalam fungsi tersebut. Jika kita tidak meluluskan sebarang hujah, maka panjang params akan kekal sifar. Kami boleh menghantar nilai atau tatasusunan yang dipisahkan koma.
Kata kunci: 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); } } }
Output:
Dengan params Kata kunci:
static public int add(params int[] args) { int add1 = 0; foreach (var item in args) add1= add1+item + 2; return add1; }
Tanpa params Kata kunci:
static public int add(int[] args) { int add = 0; foreach (var item in args) add1 = add1+item + 2; return add1; }
Dengan param, kita boleh memanggil kaedah seperti add(1,4,5), tetapi tanpa param, kita tidak boleh.
Contoh berikut menunjukkan cara kita boleh melaksanakan param dalam 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(); } } }
Dalam contoh di atas, kata kunci param digunakan, membenarkan sebarang jenis dan bilangan jenis. Kemudian, selepas mencipta objek, kami menghantar beberapa hujah untuk dipaparkan.
Output:
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(); } } }
Dalam contoh di atas, kata kunci param digunakan, membenarkan sebarang jenis dan bilangan jenis. Selepas mencipta objek, kami lulus beberapa hujah untuk dipaparkan. Di sini anda boleh melihat hujah jenis data yang berbeza.
Output:
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(); } } }
Dalam contoh di atas, tatasusunan digunakan, dan tidak perlu menyebut saiz tatasusunan kerana kata kunci param digunakan, yang akan membenarkan sebarang jenis dan nombor hujah. Nombor akan dalam format berikut.
[0] 25Output:
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; } } }
Terdapat lima argumen yang menggunakan kata kunci param dalam contoh di atas. Semua hujah adalah daripada jenis integer. Gelung foreach digunakan untuk memaparkan jumlah setiap hujah.
Output:
public void test(params int[] args) { } test(); // no compile-time error, args will be empty
Tetapi jika Anda Menggunakan Tatasusunan:
public void test(int[] args) { } test(); // error: No overload for 'Foo' takes 0 arguments
Jadi, Jika kita tidak meluluskan sebarang hujah, maka panjang param akan kekal sifar. Kata kunci param mestilah yang terakhir dalam senarai parameter; jika tidak, ia akan memberikan ralat.
Contoh:
public void test(params int[] args,int value) { }
Pengisytiharan ini tidak dibenarkan.
Atas ialah kandungan terperinci C# Params. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!