Trang chủ Liên hệ

Bài 20 C# cơ bản - Từ khóa ref và out trong C#

CÔNG TY TNHH THIẾT BỊ ĐO LƯỜNG VÀ ĐIỀU KHIỂN 01/03/2023

Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

Từ khóa ref và out trong C#

Từ khóa ref

Ta xét ví dụ sau:

static void Main(string[] args)

        {

            int value = 5;

            Console.WriteLine("Value before increase: {0}", value);

            IncreaseValue(value);

            Console.WriteLine("Value after increase: {0}", value);

            Console.ReadKey();

        }

        static void IncreaseValue(int value)

        {

            value++;

        }

Chúng ta sẽ thấy kết quả màn hình in ra hai giá trị 5. Vì sau khi kết thúc hàm IncreaseValue giá trị của value vẫn không thay đổi.

Với mong muốn giá trị của value sẽ thay đổi sau khi kết thúc lời gọi hàm IncreaseValue thì chúng ta sẽ thêm từ khóa ref phía trước kiểu dữ liệu của parameter mong muốn thay đổi giá trị khi khai báo hàm. Đồng thời phải thêm từ khóa ref ngay trước biến parameter truyền vào khi sử dụng hàm.

static void Main(string[] args)

        {

            int value = 5;

            Console.WriteLine("Value before increase: {0}", value);

            IncreaseValue(ref value);

            Console.WriteLine("Value after increase: {0}", value);
         
            Console.ReadKey();
        }

        static void IncreaseValue(ref int value)

        {

            value++;

        }

Chúng ta có thể thấy kết quả in ra màn hình giá trị 5 và 6. Do giá trị của value đã thay đổi sau khi kết thúc lời gọi hàm IncreaseValue.

Lưu ý:

Từ khóa out

Từ khóa out cũng tương tự từ khóa ref. Đó là:

Nhưng có một sự khác biệt đó là:

static void Main(string[] args)

        {

            int value = 5;


            Console.WriteLine("Value before increase: {0}", value);


            IncreaseValue(out value);


            Console.WriteLine("Value after increase: {0}", value);
           

            Console.ReadKey();

        }


        static void IncreaseValue(out int value)

        {

            value = 0;

            value++;

        }

Chúng ta có thể thấy. Trong thân hàm IncreaseValue bắt buộc phải khởi tạo giá trị cho biến value. Kết quả màn hình xuất ra giá trị 5 ban đầu và 1 là kết quả cuối cùng của biến value sau khi kết thúc lời gọi hàm IncreaseValue.

Kết luận

Qua bài này chúng ta đã nắm được cách sử dụng từ khóa ref và out trong C#.

Bài sau chúng ta sẽ tìm hiểu về MẢNG 1 CHIỀU TRONG C#.

Bài viết liên quan