C# Params

WBOY
Lepaskan: 2024-09-03 15:19:00
asal
252 orang telah melayarinya

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);
}
}
}
Salin selepas log masuk

Output:

C# Params

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;
}
Salin selepas log masuk

Tanpa params Kata kunci:

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

Dengan param, kita boleh memanggil kaedah seperti add(1,4,5), tetapi tanpa param, kita tidak boleh.

Contoh C# Params

Contoh berikut menunjukkan cara kita boleh melaksanakan param dalam C#.

Contoh #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();
}
}
}
Salin selepas log masuk

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:

C# Params

Contoh #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();
}
}
}
Salin selepas log masuk

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:

C# Params

Contoh #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();
}
}
}
Salin selepas log masuk

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

Output:

C# Params

Contoh #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;
}
}
}
Salin selepas log masuk

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:

C# Params

Bagaimanakah Ia Berbeza Dengan Susunan?

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

Tetapi jika Anda Menggunakan Tatasusunan:

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

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) { }
Salin selepas log masuk

Pengisytiharan ini tidak dibenarkan.

Atas ialah kandungan terperinci C# Params. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!