- Cả out và ref được dùng khi ta muốn truyền tham chiếu vào hàm.
- Dùng ref khi mà cần thay đổi giá trị tham số truyền vào và có quan tâm đến giá trị truyền vào là bao nhiều (vì thế cần khởi tạo giá trị trước khi truyền vào) rồi mới thay đổi.
void refFunc(ref int i)
{
i++;
}
int n;
refFunc(ref n);
//Không được vì n chưa khởi tạo.
int n = 3;
refFunc(ref n);
//Được, n = 4
- Dùng out khi mà cần thay đổi giá trị tham số truyền vào, nhưng không quan tâm giá trị tham số truyền vào là bao nhiêu (ta phải khởi tạo lại giá trị này trong hàm) rồi mới thay đổi.
void outFunc(out int i)
{
i = 0;
i++;
}
int n;
outFunc(out n);
//n = 1
int n = 5;
outFunc(out n);
//n = 1; khổng phải 6
No comments:
Post a Comment