params key-word

farkhadk

Farkhodbek Kamolov

Posted on May 27, 2024

params key-word

params - kalit so'zi avvalroq c# ning 12-chi versiyasida taqdim etilgan edi, u vaqtda params ni faqat array turiga nisbatan ishlata olardik, 13-chi versiyada esa params harqanday collection turiga nisbatan ishlatsa bo'ladi, yani harqanday IEnumerable vorislariga qollasa boladi.
params kalit so'zi o'zgaruvchan sonli(istalgan miqtorda), argumentlarni metodga o'tkazish imkonini beradi. Bu shuni anglatadiki, siz funksiyani istalgan miqdordagi argumentlar, jumladan, nol bilan chaqirishingiz mumkin. Bu kalit so'zi kompilyatorga, kelayotgan argumentlarni individual obekt sifatida emas, balki bir-butun collection sifatida ko'rib chiqilishini anglatadi.
C# ning 11-chi versiyasigacha, agar metodga biz array(yoki harqanday collection) o'tqazmoqchi bo'lsak faqatgina Print(nums); yoki Print(new int[] {1,2,3}); deb yozishimiz kerak edi, yani collection ni avval initsializatsiya qilishimiz kerak edi.

Misol:

var nums = new int[] { 1, 2, 3 };     <-- etibor qiling

Print(nums);                          <-- etibor qiling

void Print(int[] array)
{
    foreach(var item in array)
        Console.Write($"{item} ");
}
// output -> 1 2 3
Enter fullscreen mode Exit fullscreen mode

params bilan esa bunday qilishga hojat yoq

Misol:

Print(1, 2, 3);                       <-- etibor qiling

void Print(params int[] array)
{
    foreach(var item in array)
        Console.Write($"{item} ");
}
// output -> 1 2 3
Enter fullscreen mode Exit fullscreen mode

Va bu kalit so'zi nafaqat arraylar bilan, balki harqanday IEnumerable vorislariga qollasa boladi.

Misol:

Print(1, 2, 3);                           <-- etibor qiling

void Print(params List<int> list)         <-- etibor qiling
{
    foreach(var item in list)
        Console.Write($"{item} ");
}
// output -> 1 2 3
Enter fullscreen mode Exit fullscreen mode

Params ni ishlatib boshqa tiplar bilan, turli kombinatsiyalar qilish mukin, faqat params metodni eng oxirgi argumenti bo'lishi shart.

Misol:

PrintMessageAndNumbers("uchta son yubordim: ", 1,2,3);
void PrintMessageAndNumbers(string message, params int[] numbers)
{
    Console.WriteLine(message);
    foreach (int number in numbers)
    {
        Console.Write($"{number} ");
    }
}
// output -> uchta son yubordim: 1 2 3
Enter fullscreen mode Exit fullscreen mode

Shu va shunga o'xshagan ko'plab kombinatsiyalr qilish mumkin.

💖 💪 🙅 🚩
farkhadk
Farkhodbek Kamolov

Posted on May 27, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

params key-word
csharp params key-word

May 27, 2024

Natural type of Method group
csharp Natural type of Method group

May 30, 2024

Natural type of Method group
csharp Natural type of Method group

May 30, 2024