Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

Variable Arguments (Varargs) ใน C#

ใช้คีย์เวิร์ด params เพื่อรับจำนวนอาร์กิวเมนต์ที่ไม่คงที่

Syntax

static int Multiply(params int[] numbers)

สามารถเรียกใช้ได้ทั้ง 1, 2 หรือหลายอาร์กิวเมนต์:

int mulVal1 = Multiply(5);
int mulVal2 = Multiply(5, 10);
int mulVal3 = Multiply(2, 3, 4, 5);

โค้ดตัวอย่างเต็ม

using System;

class Program
{
    static void Main()
    {
        int mulVal1 = Multiply(5);
        int mulVal2 = Multiply(5, 10);
        int mulVal3 = Multiply(2, 3, 4);
        
        Console.WriteLine(mulVal1); // 5
        Console.WriteLine(mulVal2); // 50
        Console.WriteLine(mulVal3); // 24
    }
    
    static int Multiply(params int[] numbers)
    {
        int result = 1;
        foreach (int n in numbers)
        {
            result *= n;
        }
        return result;
    }
}

กฎของ params

  • ต้องเป็นพารามิเตอร์ตัวสุดท้ายเท่านั้น
  • มีได้เพียงหนึ่ง params ต่อเมธอด
  • สามารถส่ง Array เข้าไปได้โดยตรง: Multiply(new int[]{1,2,3})
  • ถ้าไม่ส่งอาร์กิวเมนต์ จะได้ Array ว่าง (Length = 0)