Giá trị trả về tham chiếu cho phép một phương thức trả về tham chiếu đến một biến, thay vì một giá trị.
Sau đó, người gọi có thể chọn xử lý biến được trả về như thể nó được trả về bằng giá trị hoặc bằng tham chiếu.
Người gọi có thể tạo một biến mới mà bản thân nó là một tham chiếu đến giá trị được trả về, được gọi là tham chiếu cục bộ.
Trong ví dụ dưới đây, mặc dù chúng tôi sửa đổi màu nhưng nó không có bất kỳ mpact nào so với các màu mảng ban đầu
Ví dụ
class Program{ public static void Main(){ var colors = new[] { "blue", "green", "yellow", "orange", "pink" }; string color = colors[3]; color = "Magenta"; System.Console.WriteLine(String.Join(" ", colors)); Console.ReadLine(); } }
Đầu ra
blue green yellow orange pink
Để đạt được điều này, chúng tôi có thể sử dụng những người dân địa phương giới thiệu
Ví dụ
public static void Main(){ var colors = new[] { "blue", "green", "yellow", "orange", "pink" }; ref string color = ref colors[3]; color = "Magenta"; System.Console.WriteLine(String.Join(" ", colors)); Console.ReadLine(); }
Đầu ra
blue green yellow Magenta pink
Trả về giới thiệu -
Trong ví dụ dưới đây, mặc dù chúng tôi sửa đổi màu nhưng nó không có bất kỳ mpact nào so với các màu mảng ban đầu
Ví dụ
class Program{ public static void Main(){ var colors = new[] { "blue", "green", "yellow", "orange", "pink" }; string color = GetColor(colors, 3); color = "Magenta"; System.Console.WriteLine(String.Join(" ", colors)); Console.ReadLine(); } public static string GetColor(string[] col, int index){ return col[index]; } }
Đầu ra
xanh xanh vàng cam hồng
Ví dụ
class Program{ public static void Main(){ var colors = new[] { "blue", "green", "yellow", "orange", "pink" }; ref string color = ref GetColor(colors, 3); color = "Magenta"; System.Console.WriteLine(String.Join(" ", colors)); Console.ReadLine(); } public static ref string GetColor(string[] col, int index){ return ref col[index]; } }
Đầu ra
blue green yellow Magenta pink