Rumah >pembangunan bahagian belakang >C++ >Bilakah Anda Harus Menggunakan Kata Kunci `params` dalam Kaedah C#?

Bilakah Anda Harus Menggunakan Kata Kunci `params` dalam Kaedah C#?

Barbara Streisand
Barbara Streisandasal
2025-01-07 10:11:421007semak imbas

When Should You Use the `params` Keyword in C# Methods?

Memahami Kata Kunci Params

Kata kunci params dalam C# menawarkan cara yang mudah untuk mencipta kaedah yang menerima bilangan argumen yang berubah-ubah. Walau bagaimanapun, nampaknya terdapat salah tanggapan mengenai keperluannya.

Pertimbangkan contoh berikut:

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

Seperti yang anda nyatakan, mengalih keluar kata kunci params daripada fungsi ini menghasilkan hasil yang sama:

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

Jadi, mengapa menggunakan kata kunci params sama sekali?

Kepentingannya terletak dalam fleksibiliti yang diberikannya apabila memanggil kaedah. Dengan kata kunci params, anda boleh menghantar bilangan hujah arbitrari secara langsung, seperti yang dilihat dalam contoh berikut:

addTwoEach(1, 2, 3, 4, 5);

Tanpa kata kunci params, anda perlu menghantar hujah anda sebagai tatasusunan:

addTwoEach(new int[] { 1, 2, 3, 4, 5 });

Ini amat berguna apabila anda ingin mengagregat nilai daripada berbilang sumber atau apabila bilangan hujah tidak diketahui terlebih dahulu.

Selain itu, anda boleh mengoptimumkan kod dengan ketara menggunakan kaedah Sum() yang disediakan oleh tatasusunan dalam C#:

public static int addTwoEach(params int[] args)
{
    return args.Sum() + 2 * args.Length;
}

Ini menghapuskan keperluan untuk gelung foreach dan menjadikan kod anda lebih cekap.

Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan Kata Kunci `params` dalam Kaedah C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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