Sự khác nhau giữa tham số ref và out trong c #

tham số (tham khảo)

Thông số giới thiệu của người dùng được sử dụng để truyền giá trị bằng cách tham chiếu từ tham số thực tế đến tham số chính thức từ phương thức callee sang phương thức được gọi. Trong C #, một tham số được khai báo với công cụ sửa đổi của ref ref là một tham số tham chiếu. Khi bạn truyền tham số bằng tham chiếu, không giống như tham số giá trị, một vị trí mới không được tạo cho tham số này. Mọi thay đổi được thực hiện cho tham số chính thức sẽ phản ánh trong tham số thực tế.

Ví dụ về tham số ref
Như được hiển thị trong đoạn chương trình trên, mọi thay đổi được thực hiện cho m sẽ được phản ánh tới n, vì tham số được truyền bằng tham chiếu.

Tham số (đầu ra)

Tham số đầu ra được sử dụng để chuyển kết quả trở lại chức năng gọi. Từ khóa 'out' được sử dụng để khai báo tham số là tham số đầu ra. Tương tự như một tham số tham chiếu, một tham số đầu ra không tạo ra một vị trí lưu trữ mới. Thay vào đó, nó trở thành bí danh cho tham số trong phương thức gọi.

Ví dụ về tham số out
Trong chương trình trên, x được khai báo là tham số out trong hàm gọi và như bạn có thể thấy, x chưa được khởi tạo. Khi hàm Square kết thúc, giá trị của q sẽ được sao chép vào tham số đầu ra x.

Sự khác biệt giữa tham số ref và out trong C #

  1. Trong tham số tham chiếu, các thay đổi được thực hiện cho tham số chính thức phản ánh tham số thực tế, trong khi ở tham số ngoài, giá trị được phản ánh trở lại tham số ngoài của chức năng gọi.
  2. Tham số thực tế 'đầu ra' thường không được gán một giá trị trong khi tham số thực được khai báo là tham chiếu phải luôn được gán giá trị trước khi gọi.
    Ghi chú: Bạn phải gán giá trị cho tham số out trong thân phương thức; nếu không thì phương thức sẽ không được biên dịch.
  3. Cả tham số out và ref đều không tạo vị trí bộ nhớ mới.
  4. Các tham số ref và out được xử lý khác nhau trong thời gian chạy, nhưng chúng được xử lý như nhau tại thời gian biên dịch.