Lệnh return dùng để trả về giá trị từ phương thức. Khi chương trình gọi hàm, điều khiển chuyển sang hàm được gọi. Hàm thực hiện nhiệm vụ và khi gặp return hoặc đóng ngoặc hàm, điều khiển quay về chương trình chính.
Ví dụ: Tính giai thừa với return
using System;
namespace Demo
{
class Factorial
{
public int Display(int n)
{
int res = 1;
while (n != 1)
{
res = res * n;
n = n - 1;
}
return res; // Trả về kết quả
}
static void Main(string[] args)
{
int value = 5;
int ret;
Factorial fact = new Factorial();
ret = fact.Display(value);
Console.WriteLine("Giá trị: {0}", ret);
Console.ReadLine();
}
}
}
Kết quả
Giá trị: 120
Các dạng return
x * x;
// 4. Return tuple
(string, int) GetPerson() => ("Nam", 25);
Lưu ý
- Phương thức
voidkhông cầnreturn(tự ngầm trả về ở cuối) - Phương thức có kiểu trả về bắt buộc có
returntrên mọi đường dẫn code returnkết thúc phương thức ngay lập tức- Có thể dùng
returnđể thoát sớm (guard clause)
Guard Clause Pattern
public void Process(User user)
{
if (user == null) return; // Thoát sớm
if (!user.IsActive) return;
// Logic chính...
}