Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

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

So sánh từ khóa ref và out trong C#.

Từ khóa ref

  • Tham số truyền cho ref phải khởi tạo trước khi gọi method.
  • Không bắt buộc khởi tạo giá trị trước khi trả về cho caller.
  • Dữ liệu truyền 2 chiều (caller ↔ callee).
  • Hữu ích khi method được gọi cần thay đổi giá trị tham số truyền vào.

Từ khóa out

  • Không yêu cầu khởi tạo tham số trước khi truyền cho out.
  • Bắt buộc khởi tạo (gán giá trị) trước khi trả về cho caller.
  • Khai báo out hữu ích khi method cần trả về nhiều giá trị.
  • Dữ liệu truyền 1 chiều (chỉ từ callee ra caller).

Cả ref và out đều truyền by reference. in (C# 7.2+) cũng truyền by reference nhưng readonly.