params (C# Başvurusu)params (C# Reference)

Kullanarak params belirtebileceğiniz anahtar sözcüğü, bir yöntem parametresi , değişken sayıda bağımsız değişken alır.By using the params keyword, you can specify a method parameter that takes a variable number of arguments.

Parametre bildiriminde belirtilen türde bağımsız değişkenleri dizisini belirtilen türdeki bağımsız değişkenlerin virgülle ayrılmış bir liste gönderebilirsiniz.You can send a comma-separated list of arguments of the type specified in the parameter declaration or an array of arguments of the specified type. Ayrıca, herhangi bir bağımsız değişken gönderebilirsiniz.You also can send no arguments. Hiçbir bağımsız değişken uzunluğu gönderirseniz params sıfır listesidir.If you send no arguments, the length of the params list is zero.

Ek parametre sonra izin verilen params anahtar sözcüğü bir yöntem bildiriminde ve tek params anahtar sözcüğü bir metodun bildiriminde izin verilir.No additional parameters are permitted after the params keyword in a method declaration, and only one params keyword is permitted in a method declaration.

Bildirilen türü params parametresi, aşağıdaki örnekte gösterildiği gibi bir tek boyutlu bir dizi olmalıdır.The declared type of the params parameter must be a single-dimensional array, as the following example shows. Aksi halde bir derleyici hatası CS0225 gerçekleşir.Otherwise, a compiler error CS0225 occurs.

ÖrnekExample

Aşağıdaki örnek, bağımsız değişkenleri göndermenin çeşitli yollarını gösterir bir params parametresi.The following example demonstrates various ways in which arguments can be sent to a params parameter.

public class MyClass
{
    public static void UseParams(params int[] list)
    {
        for (int i = 0; i < list.Length; i++)
        {
            Console.Write(list[i] + " ");
        }
        Console.WriteLine();
    }

    public static void UseParams2(params object[] list)
    {
        for (int i = 0; i < list.Length; i++)
        {
            Console.Write(list[i] + " ");
        }
        Console.WriteLine();
    }

    static void Main()
    {
        // You can send a comma-separated list of arguments of the 
        // specified type.
        UseParams(1, 2, 3, 4);
        UseParams2(1, 'a', "test");

        // A params parameter accepts zero or more arguments.
        // The following calling statement displays only a blank line.
        UseParams2();

        // An array argument can be passed, as long as the array
        // type matches the parameter type of the method being called.
        int[] myIntArray = { 5, 6, 7, 8, 9 };
        UseParams(myIntArray);

        object[] myObjArray = { 2, 'b', "test", "again" };
        UseParams2(myObjArray);

        // The following call causes a compiler error because the object
        // array cannot be converted into an integer array.
        //UseParams(myObjArray);

        // The following call does not cause an error, but the entire 
        // integer array becomes the first element of the params array.
        UseParams2(myIntArray);
    }
}
/*
Output:
    1 2 3 4
    1 a test
           
    5 6 7 8 9
    2 b test again
    System.Int32[]
*/

C# dili belirtimiC# language specification

Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi.For more information, see the C# Language Specification. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.The language specification is the definitive source for C# syntax and usage.

Ayrıca bkz.See also