ใช้คีย์เวิร์ด 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)