Nếu chúng ta từng nghiên cứu các ngôn ngữ python, vba ... thì hàm là từ khóa rất quen thuộc, nhưng khi qua C# chúng ta cần bổ sung thêm kiến thức.
Trong lập trình, hàm (function) thường được định nghĩa là một khối mã có thể nhận tham số đầu vào, thực thi một nhiệm vụ và có thể trả về một giá trị.
Trong các ngôn ngữ như C, C++, không có khái niệm class, nên các hàm có thể được khai báo bên ngoài bất kỳ lớp nào.
int TongHaySo(int a, int b) // Đây là một hàm tính tổng 2 số trong C#
{
return a + b;
}
Phương thức trong C# là một thành phần của một lớp (class) hoặc struct, dùng để thực thi một hành động nào đó.
class Program
{
static void Main(string[] args)
{
Console.Write( tong(5,7) );
Console.Read();
}
static int tong(int a, int b)
{
return a + b;
}
}
Ví dụ như khi làm phần mềm quản lý kho bạn tạo ra 1 phương tính tồn kho cho 1 hàng hòa nào đó thì các dòng lệnh trong phương thức chỉ làm việc với nghiệp vụ tính kho và trả về 1 giá trị là số lượng tồn khi, và phương thước này sẽ được sử dụng lặp đi lặp lại tại các chức năng (form) của phần mềm.
class Program
{
static void Main(string[] args)
{
Console.Write("Ton kho: "+tinhTon());
Console.Read();
}
static int tinhTon()
{
int ton = 10;
int nhap = 2;
int xuat = 5;
return ton+nhap-xuat ;
}
}
Phương thức tinhTon được sử dụng tại nhiều form trong phần mềm.
Trong C#, phương thức (method) và hàm (function) về bản chất là giống nhau, nhưng theo cách sử dụng trong lập trình hướng đối tượng (OOP), người ta thường dùng thuật ngữ "phương thức" (method) thay vì "hàm" (function).
Hàm (function): Một khối mã thực thi một tác vụ cụ thể và có thể trả về giá trị. Trong ngữ cảnh tổng quát, hàm có thể tồn tại độc lập.
Phương thức (method): Là một hàm nhưng thuộc về một lớp hoặc đối tượng, tức là nó chỉ tồn tại bên trong một class hoặc struct.
class ToanHoc {
public int CongHaiSo(int a, int b) {
return a + b;
}
}
class Program {
static void Main() {
ToanHoc th = new ToanHoc();
int ketQua = th.CongHaiSo(5, 3);
Console.WriteLine(ketQua); // Output: 8
}
}
pham_vi_truy_cập static kiểu_dữ_liệu_trả_về tên_phương_thức(danh_sách_tham_số) {
// Phần thân hàm
}
[public|protected|private] static <kiểu trả về> <tên phương thức>([danh sách tham số])
{
[code c#];
[return [giá trị];
}
Ở phần này chúng ta bỏ qua phần [public|protected|private], chúng ta nghiên cứu ở phần tiếp theo.
Kiểu trả về là kiểu của biến mà chúng ta đã được học [Tham khảo kiểu]
Ví dụ: tạo 1 hàm tính tổng ta chỉ thêm vào trong hàm Main là
class Program
{
static void Main(string[] args)
{
Console.Write("Tong: "+tong(2,6));
Console.Read();
}
static int tong(int a,int b)
{
return a+b;
}
}
Có 3 loại kiểu phương thức hay sử dụng trong C#:
- Có giá trị trả về và có truyền tham số.
- Không có giá trị trả về và có truyền tham số.
- Không có giá trị trả về và không truyền tham số.
static int tinhtong(int a,int b)
{
int c=a+b;
return c;
}
Public static void GhiFileLog(string strErrr)
{
... Code luu xuong file Log
..có 2 cách ghi file log
- phần mềm nhỏ: text
- phần mềm lớn: SQL
- lưu nhật ký lỗi
Ngày giờ lỗi , Mô tả lỗi , Tên class, tên phương thức
2024/6/9 Null tungay NhanVien TinhLuong
Select * from tbLog Order by NgayPhatSinhLoi Desc
}
Public static void demSoLanChayPhanMem()
{
... Code tang so lan chay phan mem
}
Các phương thức trên là minh họa 1 nghiệp vụ code nào đó, trong thực tế còn nhiều nghiệp vụ khác.
Ví dụ phương thức cơ bản nhất trong C#
static void Main(string[] args)
{
tong(1, 3);
Console.ReadLine();
}
static void tong(int a, int b)
{
Console.WriteLine(a+b);
}
Ta thấy dòng tong(1,3) thì 1,3 chính là tham số truyền vào cho phương thức.
Tham khảo phần chi tiết tham số tuyền vào [Đang cập nhật]
Tìm kiếm:
Method (Phương thức) trong C# là gì,