Ngôn ngữ C# - Từ khóa Params

Từ khóa Params trong C#

Trong trường hợp chúng ta muốn viết một phương thức mà không biết trước được số lượng tham số người dùng truyền vào thì phải làm sao? tức là trong trường hợp này, người dùng truyền bao nhiêu tham số cũng được, bên trong phương thức sử dụng bao nhiêu tham số đó để thực hiện tính toán rồi output kết quả.

Nếu chúng ta muốn viết phương thức giống như vậy trong C# cung cấp từ khóa params để thực hiện điều này. Và tham số được truyền vào đi kèm với từ khóa params chỉ được phép là mảng một chiều.

Cú pháp của đối số params là:

params datatype [] tên đối số

Ví dụ sử dụng params

using System;  
namespace AccessSpecifiers  
{  
    class Program  
    {  
        // User defined function  
        public void Show(params int[] val) // Params Paramater  
        {  
            for (int i=0; i<val.Length; i++)  
            {  
                Console.WriteLine(val[i]);  
            }  
        }  
        // Main function, execution entry point of the program  
        static void Main(string[] args)  
        {  
            Program program = new Program(); // Creating Object  
            program.Show(2,4,6,8,10,12,14); // Passing arguments of variable length  
        }  
    }  
}  

Kết quả:

2
4
6
8
10
12
14

Xem ví dụ

Ví dụ 2 : C# Params 

Trong ví dụ này, chúng ta sử dụng các tham số là đối tượng cho phép nhập bất kỳ số lượng đầu vào là kiểu dữ liệu bất kỳ.

using System;  
namespace AccessSpecifiers  
{  
    class Program  
    {  
        // User defined function  
        public void Show(params object[] items) // Params Paramater  
        {  
            for (int i = 0; i < items.Length; i++)  
            {  
                Console.WriteLine(items[i]);  
            }     
        }  
        // Main function, execution entry point of the program  
        static void Main(string[] args)  
        {  
            Program program = new Program(); // Creating Object  
            program.Show("Ramakrishnan Ayyer","Ramesh",101, 20.50,"Peter", 'A'); // Passing arguments of variable length  
        }     
    }  
}  

Output:

Ramakrishnan Ayyer
Ramesh
101
20.5
Peter
A

Xem ví dụ