Bài viết mới

[C#] Hướng dẫn sử dụng từ khóa Params để truyền nhiều tham số vào hàm

[C#] Hướng dẫn sử dụng từ khóa Params để truyền nhiều tham số vào hàm
Đăng bởi: Thảo meo - Lượt xem: 823 08:00:00, 30/03/2020PHẦN MỀM

Xin chào các bạn bài viết hôm nay mình sẽ hướng dẫn các bạn cách truyền nhiều tham số vào hàm bằng cách sử dụng từ khóa Params C#.

[C#] Using keywords Params

Trong nhiều trường hợp, nhiều lúc chúng ta muốn viết một hàm, mà không biết trước được là hàm đó có bao nhiêu tham số truyền vào.

Và hàm này có thể cho phép người dùng truyền vào nhiều tham số.

params_csharp_demo

Mình ví dụ: 

Chúng ta cần viết một hàm sau, cho phép truyền vào nhiều số tự nhiên, và trả về tổng kết quả của các số nhập vào.

public static int Sum(params int[] arr)
{
	 int sum = 0;
	 foreach (int item in arr)
	 sum += item;
	 return sum;
}

Từ khóa params chúng ta truyền vào là một mảng object.

Dưới đây là sử dụng hàm trên:

int sum2 = Sum( 32, 8, 5, 20, 1, 9, 10);

Ở hàm sum này ta sẽ dễ dàng truyền vào một dãy số tự nhiên vào.

Ví dụ: chúng ta muốn viết một hàm excute procedure trong Sql, và tham số truyền vào hàm nhiều tham số mà mình không biết thì cách thực hiện chúng sẽ viết như sau:

public static DataTable LoadData(string sqlQuery, CommandType cmdType, params SqlParameter[] paramList)
{
    using (SqlConnection con = get_sqlConnection())
    {
        using (var cmd = con.CreateCommand())
        {
            cmd.CommandType = cmdType;
            cmd.CommandText = sqlQuery;
            cmd.Parameters.AddRange(paramList);
            using (SqlDataAdapter adap = new SqlDataAdapter(cmd))
            {
                DataTable dt = new DataTable();
                try
                {
                    adap.Fill(dt);
                }
                catch (System.Exception ex)
                {
                    XtraMessageBox.Show("Đọc dữ liệu thất bại" + Environment.NewLine + ex.Message);
                    dt = null;
                }
                cmd.Parameters.Clear();
                return dt;
            }
        }
    }
}

Với hàm trên đây thì chúng ta sẽ dễ dàng truyền vào nhiều tham số SqlParametter() và không giới hạn.

Thanks for watching!

 

Tags: params c#params keyword c#

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[C#] Hướng dẫn sử dụng từ khóa Params để truyền nhiều tham số vào hàm
Đăng bởi: Thảo meo - Lượt xem: 823 08:00:00, 30/03/2020PHẦN MỀM