lặp đi lặp lại bởi cùng một đoạn code, cách tốt nhất là đưa đoạn code này vào một chương trình con để có thể sử dụng lại nhiều lần. Trong Pascal, chương trình con cĩ thể l thủ tục (procedure) hoặc hm (function). Đối với C#, các hàm bao giờ cũng là
phương thức của một lớp xác định nào đó:
Gọi hàm phải thông qua đối tượng nếu hàm khai báo thường (không có từ khĩa static)
Gọi hm phải thơng qua lớp nếu hm khai bo static (hm tĩnh)
[public | private | protected] [static] <Kiểu hm> <Tn hm> (danh sch tham số) { <cc lệnh>
return <gi trị trả về>; <cc lệnh>
}
Giống như C, nếu hàm không trả về gi trị thì <Kiểu hm> l void. Cc từ khĩa public hoặc private chỉ ra phạm vi của hm.
o Hm public là hàm có thể được gọi từ bất cứ đâu trong chương trình. o Hm private là hàm chỉ có thể gọi được trong lớp khai báo hàm đó o Hm protected l hm chỉ cĩ thể gọi được trong lớp khai báo hàm hoặc
các lớp kế thừa lớp này Từ khĩa static
o Hm bình thường không khai báo từ khóa static. Khi đó hàm là
phương thức của đối tượng, có thể sử dụng các biến thành viên khai
báo bên trong đối tượng. Hàm bình thường được gọi thơng qua đối
tượng.
o Hm khai bo static l hm tĩnh. Hm l phương thức của lớp, chỉ có thể sử dụng các biến thành viên của lớp (cũng khai báo static) mà không thể sử dụng các biến thành viên của bất cứ đối tượng nào trong lớp (vì hm khơng thuộc đối tượng). Hàm tĩnh được gọi thơng qua lớp.
Cc dạng tham số
Cải tiến từ các ngôn ngữ như C, C++ và Pascal, C# đưa ra 3 dạng tham số: Đầu vào
Đầu ra (out) Tham chiếu (ref)
Chức năng Đầu vào Đẩu ra (out) Tham chiếu (ref)
Khai bo int Tinh(int a); int Tinh(out int a); int Tinh(ref int a);
Gọi hm Tham số l một biểu thức Tinh(10);
Tinh(b+10);
Tham số l một biến int b;
Tinh(out b);
Tham số là 1 biến, vừa là đầu vào, vừa là đầu ra nên phải khởi tạo giá trị ban đầu: int b = 10;
Tinh(ref b);
Thay đổi giá trị
tham số Gi trị đưa vào là biểu thức,mọi thay đổi của tham số không ảnh hưởng đến chương trình gọi
Tham số đưa vào là một biến, mọi thay đổi giá trị của tham số bên trong hàm sẽ thay đổi biến này
Tham số đưa vào là một biến, mọi thay đổi giá trị của tham số bên trong hàm sẽ thay đổi biến này
Sử dụng Truyền gi trị từ bn ngồi vo
hm Truyền kết quả từ bntrong hm ra ngồi Truyền gi trị từ bn ngồi vobn trong hm. Hm truyền lại kết quả từ bn trong ra ngồi
Ngoại lệ (Exception)