Đặt vấn đề
Trong khi lập chương trình chúng ta thường gặp những đoạn chương trình được lặp đi lặp lại nhiều lần ở những chỗ khác nhau. Để tránh rườm rà, những đoạn chương trình này được thay thế bằng chương trình con tương ứng và khi cần, ta chỉ việc làm thủ tục gọi ...
Trong khi lập chương trình chúng ta thường gặp những đoạn chương trình được lặp đi lặp lại nhiều lần ở những chỗ khác nhau. Để tránh rườm rà, những đoạn chương trình này được thay thế bằng chương trình con tương ứng và khi cần, ta chỉ việc làm thủ tục gọi chương trình đó ra(với các tham số tương ứng cần thiết) mà không phải viết lại cả khúc chương trình đó. Thí dụ khi làm toán lượng giác, thường xuyên ta cần tính sin của một giá trị hay một biến x nào đó. Như vậy ta cần lập một chương trình con có tên sin và tham số cần thiết là x. Những chương trình con thông dụng này đã được lập sẵn và để trong “thư viên” Trong C#, các chương trình con chuẩn này được phân loại và chứa trong các lớp như: Lớp chứa các hàm toán học Math, lớp chứa các hàm xử lý thời gian Timer, …
Lý do thứ hai để xây dựng chương trình con là: một vấn đề lớn phức tạp sẽ tương ứng với một chương trình có thể rất lớn , rất dài. Do đó việc nhìn tổng quan cả chương trình cũng như việc gỡ rối, hiệu chỉnh sẽ rất khó khăn. Ta có thể phân tác vấn đề phức tạp đó ra thành nhiều các vấn đề nhỏ hơn(tương ứng với các chương trình con) để dễ kiểm tra, gỡ rối từng khối một và sau đó ghép lại thành chương trình lớn.
Trong ngôn ngữ lập trình C# chương trình con chỉ tồn tại dưới dạng các hàm