BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KINH TẾ THÀNH PHỐ HỒ CHÍ MINH
KHOA CƠNG NGHỆ THƠNG TIN KINH DOANH
TIỂU LUẬN
MƠN: CƠ SỞ LẬP TRÌNH
CHƯƠNG 4: PHƯƠNG THỨC TRONG
NGƠN NGỮ LẬP TRÌNH C#
Giảng viên hướng dẫn : Th.S Đỗ Thị Bích Lệ
Sinh viên thực hiện
: Huỳnh Thị Bé Huyền
MSSV
: 31191025761
Lớp học phần
: 21D1INF50900503
Khóa /Hệ
: K45, Đại học chính quy
Thành phố Hồ Chí Minh, tháng 6 năm 2021
MỤC LỤC
Huỳnh Thị Bé Huyền_31191025761
I.
MỞ ĐẦU
Ngơn ngữ lập trình C# (“C sharp”) là một ngơn ngữ lập trình thuần hướng đối
tượng phổ biến trong thế giới phát triển phần mềm biến hiện nay, được phát triển
bởi Microsoft vào năm 2000 dựa trên nền tảng của 2 ngơn ngữ lập trình mạnh nhất
đó là C++ và Java. C# là một ngơn ngữ lập trình với mục đích xây dựng các loại
chương trình và ứng dụng với tính linh hoạt rất cao như phát triển ứng dụng web,
ứng dụng window, lập trình games,… Để làm được điều đó trước tiên chúng ta cần
nắm rõ những kiến thức cơ bản và toàn diện về C#. Một trong những khái niệm cơ
bản và đặt biệt quan trọng cần hiểu rõ chính là phương thức (method). Cũng bởi vì
lí do này nên em quyết định chọn đề tài Phương thức trong ngơn ngữ lặp trình C#
cho bài tiểu luận kết thúc học phần của mình.
Bài tiểu luận gồm 5 phần chính:
1. Giới thiệu về phương thức
2. Phương thức trả về một giá trị
3. Phương thức kiểu void
4. Truyền đối sổ kiểu tham chiểu với từ khóa ref hoặc out
5. Phương thức đệ quy
3
Huỳnh Thị Bé Huyền_31191025761
II.
NỘI DUNG
1. Giới thiệu về phương thức
Phương thức (method) gần giống như hàm (function) trong ngôn ngữ lập trình C/C+
+ hay Java. Phương thức là một nhóm các lệnh cùng nhau thực hiện một tác vụ nào
đó và chỉ được thực thi khi gọi. Phương thức có thể được tái sử dụng, điều này có
nghĩa là bạn có thể định nghĩa phương thức 1 lần và gọi nó ở nhiều nơi.
Trong nội dung phần chúng ta tìm hiểu sắp tới đây thì tất cả các hàm đều có static
trước kiểu vì hàm được sử dụng ở đây thuộc chương trình “khơng hướng đối
tượng”. Gọi là phương thức tĩnh (Static method).
Đặc điểm của Static method:
- Static method là một phương thức dùng chung của lớp. Được gọi thông qua tên
lớp và khơng cần khởi tạo bất kì đối tượng nào từ đó giúp tránh việc lãng phí bộ
nhớ.
- Hỗ trợ trong việc viết các hàm tiện ích của thư viện để sử dụng lại
- Trong phương thức có sử dụng biến static thì phương thức đó cũng phải được khai
báo static.
Phương thức được chia thành 2 loại: Phương thức trả về giá trị và phương thức kiểu
void. Bài luận này sẽ giúp các bạn tìm hiểu rõ về hai phương thức đã đề cập trên.
2. Phương thức trả về một giá trị
Phương thức trả về một giá trị bắt buộc bên trong phương thức ln ln có lệnh:
Return (giá_trị);
Để sử dụng được một phương thức thì chúng ta cần:
+ Định nghĩa phương thức
+ Gọi phương thức
* Định nghĩa phương thức:
Cú pháp:
<Access Modifies> static <kiểu trả về> <tên phương thức>
{
//nội dung phương thức
}
4
Huỳnh Thị Bé Huyền_31191025761
Trong đó:
-
-
có các mức độ như public, private, protect, internal ... nếu
khơng có ghi thì mặc định là internal (truy cập được ở các file
cùng assembly cùng file code). Từ khóa static thường dùng kèm với
public để tạo các hàm chức năng, tiện ích.
<kiểu trả về>: là kiểu trả về của hàm như int, double, string, float,...
<tên phương thức>: do người dùng đặt và tuân thủ các quy tắc đặt tên.
<Access Modifies>:
* Gọi phương thức: Để gọi được phương thức, chúng ta cần khai báo biến và gán
chính xác tên phương thức cho biến này.
Để rõ hơn về cách định nghĩa và gọi phương thức trả về một giá trị, chúng ta sẽ tìm
hiểu thơng qua ví dụ.
Ví dụ 1: Viết chương trình nhập từ bàn phím 2 số a, b và xuất ra màn hình ước
chung lớn nhất (UCLN) của hai số a, b. Lưu ý viết chương trình bằng cách sử dụng
phương thức trả về một giá trị. Giả sử nhập a=30, b=12.
- Chương trình:
using System;
namespace ConsoleApp3
{
class Method_Vd1
{
static int Nhap()
//Định nghĩa phương thức nhập với kiểu int (số nguyên). Phương thức này để thực
hiện các câu lệnh nhập dữ liệu đầu vào
{
int a;
Console.Write("Nhap so mot so: ");
a= int.Parse(Console.ReadLine());
return a;
}
//---------------------------------------------------------------------static int TimUCLN (int a, int b)
// Định nghĩa phương thức TimUCLN với kiểu số nguyên. Phương thức này giúp thực
hiện các câu lệnh tính tốn giúp tìm ra giá trị của UCLN
{
int UCLN = 1;
int i, j;
if (a
for (i = 1; i <= j; i++) /
// vòng lặp chạy từ 1 đến số có gía trị nhỏ hơn
if (a % i == 0 && b % i == 0)
// i là ước của cả a, b khi a, b đồng thời chia hết cho i
UCLN = i;
5
Huỳnh Thị Bé Huyền_31191025761
return UCLN;
}
//---------------------------------------------------------------------static void Hienthi(int a, int b, int UCLN)
{
Console.WriteLine("So thu nhat: {0}",a);
Console.WriteLine("So thu hai: {0}", b);
Console.WriteLine("UCLN cua {0} va {1} la {2}",a,b,UCLN);
}
// Sử dụng void vì phương thức ở đây không cho ra giá trị cụ thể nên sử dụng void
để cho số vào và in ra màn hình. Phương thức void chỉ có đối số vào
//---------------------------------------------------------------------static void Main(string[] args)
{
int a, b, UCLN;
a = Nhap(); //gọi hàm và gán cho biến a
b = Nhap(); //gọi hàm và gán cho biến b
UCLN = TimUCLN(a,b); //gọi hàm và gán cho biến UCLN
Hienthi(a, b, UCLN); //hàm kiểu void khơng có lệnh gán
Console.ReadLine();
}
}
}
- Kết quả:
3. Phương thức kiểu void
Phương thức kiểu void là phương thức có thể đồng thời trả về nhiều giá trị hoặc
không trả về giá trị. Cũng giống như phương thức trả về một giá trị để sử dụng được
một phương thức void thì chúng ta cần định nghĩa và gọi phương thức void. Tuy
nhiên khác với phương thức phương thức trả về một giá trị, khi định nghĩa phương
thức void thì <kiểu trả về> là void. Để gọi phương thức kiểu void thì chỉ cần viết
chính xác tên là được.
Phương thức kiểu void được chia thành 4 loại:
- Kiểu void khơng có đối số. Nó được dùng để hiển thị các thông báo.
6
Huỳnh Thị Bé Huyền_31191025761
- Kiểu void có đối số đưa vào nhưng khơng có đối số lấy ra. Nó thường dùng để
hiển thị ra các thơng báo, tính tốn một biểu thức nào đó rồi hiển thị kết quả ra màn
hình.
- Kiểu void khơng có đối số đưa vào nhưng có đối số lấy ra khỏi hàm. Nó thường
dùng để nhập dữ liệu từ bàn phím và đưa ra khỏi hàm. Các đối số lấy ra phải là đối
số kiểu tham chiếu như kiểu có từ khóa ref hay out.
- Kiểu void có cả đối số vào và đối số ra. Các đối số lấy ra phải là đối số kiểu tham
chiếu như kiểu có từ khóa ref hay out.
Ví dụ 2: Sử dụng phương thức để viết chương trình in ra các số Armstrong từ 1 đến
n. Số Armstrong là số bằng tổng lập phương các chữ số của số đó. Giả sử n=1000.
Ví dụ: Số 153 là số Armstrong vì 153=13+53+33
- Chương trình
using System;
namespace PhuongThuc
{
class Program
{
//Khai báo biến toàn cục
static int n;
static void show1()
//Định nghĩa phương thức kiểu void khơng có đối số
{
Console.WriteLine("Tim so Armstrong trong C#");
}
static int Input ()
//Định nghĩa phương thức phương thức trả về 1 giá trị
{
Console.Write("Nhap so ket thuc cua day n= ");
int n = int.Parse(Console.ReadLine());
return (n);
}
static void Tinh ()
7
Huỳnh Thị Bé Huyền_31191025761
//Định nghĩa phương thức kiểu void chỉ có đối số vào
{
int r, tam, sum, num; // Khai báo biến cục bộ
for (num = 1; num <= n; num++)
{
tam = num;
sum = 0;
while (tam != 0)
{
r = tam % 10;
tam = tam / 10;
sum = sum + (r * r * r);
}
if (sum == num)
Console.Write("{0} ", num);
}
}
static void show2() //Phương thức kiểu void chỉ có đối số vào
{
Console.WriteLine("Cac so Armstrong tu 1 den {0} la:",n);
}
static void Main(string[] args)
{
show1(); //gọi phương thức kiểu void
n = Input(); //gọi phương thức trả về 1 giá trị và gán cho biến n
show2();
Tinh();
//gọi phương thức kiểu void
//gọi phương thức kiểu void
Console.ReadLine();
}
}
}
8
Huỳnh Thị Bé Huyền_31191025761
- Kết quả:
4. Truyền đối số kiểu tham chiếu có từ khóa REF hoặc OUT
Khi gọi phương thức có tham số thì chúng ta cần truyền tham số cho phương thức
đó. Có hai cách để truyền tham số cho phương thức là tham trị và tham chiếu.
Truyền tham số cho phương thức:
- Tham trị: được hiểu như là việc truyền giá trị cho biến. Chúng ta sẽ gán tham số
bằng một biến cụ thể nào đó thì giá trị của biến được sao chép và sử dụng trong
phương thức như biến cục bộ. Tuy nhiên khi kết thúc mọi tính tốn trong phương
thức thì khơng làm thay đổi giá trị của biến tham số truyền vào. Đây là cách thức đã
được thực hiện ở các ví dụ 1, 2 bên trên.
- Tham chiếu: chính là việc truyền trực tiếp địa chỉ ô nhớ của biến. Tham số sẽ được
sử dụng trực tiếp chứ không tạo ra một biến cục bộ nào trong phương thức. Cũng vì
điều này nên tham chiếu có tác động trực tiếp đến bên ngồi. Mọi tính tốn bên
trong phương thức sẽ làm thay đổi giá trị của biến tham số truyền vào ngay cả khi
kết thúc phương thức.
Ví dụ 3: Xét ví dụ tính tốn đơn giản sau
- Chương trình:
using System;
namespace ConsoleApp4
{
class Program //Truyền theo giá trị
{
static void Tinh (int a)//a là một giá trị
9
Huỳnh Thị Bé Huyền_31191025761
{
a = a * a;// thực hiện tính tốn gán a bằng bình phương của a
Console.WriteLine("Trong phuong thuc a = {0}", a);
}
static void Main(string[] args)
{
int a = 10;
Console.WriteLine("Truoc khi thuc hien phuong thuc a = {0}", a);
Tinh(a);
Console.WriteLine("Sau khi thuc hien phuong thuc a = {0}", a);
Console.ReadLine();
}
}
}
- Kết quả:
- Nhận xét: Bên trong hàm Tính thì việc tính toán đã làm thay đổi giá trị của a từ
a=10 thành a=100. Nhưng sau khi kết thúc phương thức, ở bên ngồi thì giá trị của
a vẫn khơng thay đổi a=10. Vậy có nghĩa là giá trị của a khơng thực sự thay đổi.
Hoạt động ở đây được hiểu như một bản sao của biến a sẽ được tạo ra, sao chép giá
trị của biến a, truyền biến đã được sao chép này vào phương thức nên dù có thực
hiện bao nhiêu phép tính tốn cũng khơng ảnh hưởng đến biến gốc. Đây chính là
kiểu truyền tham số cho phương thức theo kiểu tham trị.
Còn nếu muốn làm thay đổi giá trị của biến tham số truyền vào ngay cả khi kết thúc
phương thức thì chúng ta sẽ sử dụng tham chiếu. Mà cụ thể ở đây chính là truyền
đối số kiểu tham chiếu có từ khóa ref hoặc out.
1
0
Huỳnh Thị Bé Huyền_31191025761
a. Từ khóa ref
Để truyền đối số dưới dạng tham chiếu trong C# chúng ta sử dụng từ khóa ref. Khi
dùng từ khóa ref biến bắt buộc phải được khởi tạo trước. Khi gọi và khi khai báo thì
nhất thiết phải có từ khóa ref trước tên biến muốn truyền.
Ví dụ 4: Viết lại Ví dụ 3 bằng cách sử dụng từ khóa ref
- Chương trình:
using System;
namespace ConsoleApp4
{
class Program //Truyền đối số kiểu tham chiếu có từ khố ref
{
}
static void Tinh (ref int a)//Định nghĩa hàm Tính để thực hiện tính tốn
{
a = a * a;// thực hiện tính tốn
Console.WriteLine("Trong phuong thuc a = {0}", a);
}
static void Main(string[] args)
{
int a = 10;//Khởi tạo giá trị cho biến
Console.WriteLine("Truoc khi thuc hien phuong thuc a = {0}", a);
Tinh(ref a);
Console.WriteLine("Sau khi thuc hien phuong thuc a = {0}", a);
Console.ReadLine();
}
}
- Kết quả:
- Nhận xét: Khi nhìn vào kết quả ta thấy bên trong hàm Tính thì việc tính tốn đã
làm thay đổi giá trị của a từ a=10 thành a=100. Đồng thời sau khi kết thúc phương
thức, ở bên ngồi thì giá trị của a đã thay đổi a=100. Vậy có nghĩa là giá trị của a đã
thực sự thay đổi nhờ vào việc truyền đối số kiểu tham chiếu ref.
1
1
Huỳnh Thị Bé Huyền_31191025761
Vì từ khóa ref được sử dụng để truyền dữ liệu hai chiều đầu vào và đầu ra nên cần
phải khởi tạo giá trị cho biến. Trong chương trình trên giá trị khởi tạo của a=10.
Ví dụ 5: Viết hàm trả về diện tích S và chu vi P của một tam giác với chiều dài các
cạnh a, b, c cho trước.
- Chương trình:
using System;
namespace ConsoleApp5
{
class Program
{
static int dtcv(int a, int b, int c, ref double S, ref double P)
{
//a,b,c: truyền tham trị
//S,P truyền tham chiếu với từ khóa ref
//Kết quả diện tích và chu vi sẽ được trả ra thông qua hai biến S và P.
//Hàm trả về -1 nếu a, b, c không tạo thành ba cạnh tam giác, trả về 0 nếu ngược
lại.
P = (a + b + c)/2.0;
S = Math.Sqrt(P*(P - a) * (P - b) * (P- c));
if ((a + b <= c) || (a + c <= b) || (b + c <= a)) return -1;
else return 0;
}
static void Main(string[] args)
{
int a, b, c;
double P=0,S=0;//Khởi tạo giá trị cho biến với giá trị bàng không
Console.WriteLine("Nhap a, b, c:");
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
c = int.Parse(Console.ReadLine());
if (dtcv(a, b, c, ref S, ref P) == -1)
Console.WriteLine("{0}, {1}, {2} khong phai là 3 canh cua tam giac", a,
b, c);
1
2
Huỳnh Thị Bé Huyền_31191025761
else
{
Console.WriteLine("Dien tich tam giac: {0}",S);
Console.WriteLine("Chu vi tam giac: {0}", 2*P);
}
Console.ReadLine();
}
}
}
- Kết quả:
- Nhận xét:
Ở ví dụ này có nhiều giá trị cần trả về nên ngồi việc sử dụng return thì ta sử dụng
từ khóa ref để trả về được nhiều giá trị hơn.
1
3
Huỳnh Thị Bé Huyền_31191025761
b. Từ khóa out
Truyền đối số kiểu tham chiếu có từ khóa out cũng tương tự như từ khóa ref. Vùng
nhớ sẽ được phương thức sử dụng để thao tác trực tiếp lên đó. Khi kết thúc phương
thức giá trị của các biến có thể bị thay đổi. Khi gọi và khi khai báo thì nhất thiết
phải có từ khóa out trước tên biến muốn truyền.
Ví dụ 6: Xét thấy trong Ví dụ 5 khơng cần quan tâm giá trị ban đầu của biến biến P,
S là gì, chúng ta chỉ gán lại giá trị cho biến để được đầu ra kết quả là đủ nên ta sẽ
viết lại chương trình bằng cách sử dụng từ khóa out
- Chương trình:
using System;
namespace ConsoleApp5
{
class Program
{
static int dtcv(int a, int b, int c, out double S, out double P)
{
//a,b,c: truyền tham trị
//S, P truyền tham chiếu với từ khóa out.
//Kết quả diện tích và chu vi sẽ được trả ra thông qua hai biến S và P.
//Hàm trả về -1 nếu a, b, c không tạo thành ba cạnh tam giác, trả về 0 nếu ngược
lại.
P = (a + b + c)/2.0;
S = Math.Sqrt(P*(P - a) * (P - b) * (P- c));
if ((a + b <= c) || (a + c <= b) || (b + c <= a)) return -1;
else return 0;
}
static void Main(string[] args)
{
int a, b, c;
double P,S; //Không cần khởi tạo giá trị cho biến
Console.WriteLine("Nhap a, b, c:");
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
1
4
Huỳnh Thị Bé Huyền_31191025761
c = int.Parse(Console.ReadLine());
if (dtcv(a, b, c, out S, out P) == -1)
Console.WriteLine("{0}, {1}, {2} khong phai là 3 canh cua tam giac", a,
b, c);
else
{
Console.WriteLine("Dien tich tam giac: {0}",S);
Console.WriteLine("Chu vi tam giac: {0}", 2*P);
}
Console.ReadLine();
}
}
}
- Kết quả: tương tự ví dụ 5
- Nhận xét:
Ở ví dụ này có nhiều giá trị cần trả về nên ngoài việc sử dụng return thì ta sử dụng
từ khóa out để trả về được nhiều giá trị hơn.
1
5
Huỳnh Thị Bé Huyền_31191025761
Ta đã khai báo biến P, S và chuyển nó vào một phương thức dtcv bằng cách sử
dụng từ khóa out mà khơng cần khởi tạo giá trị. Nhưng trong phương thức được
gọi, nó đã được gán một giá trị nhất định P = (a + b + c)/2.0; S = Math.Sqrt(P*(P a) * (P - b) * (P- c)) để khởi tạo tham số được truyền ra.
c. So sánh từ khóa ref và out
Từ khóa ref
- Từ khóa ref được sử dụng khi một
phương thức được gọi phải cập nhật tham
số được truyền vào.
Từ khóa out
- Từ khóa out được sử dụng khi một
phương thức được gọi phải cập nhật nhiều
tham số được truyền vào.
- Từ khóa ref được sử dụng để truyền dữ
liệu theo cách hai chiều.
- Trước khi chuyển một biến dưới dạng
ref, nó phải được khởi tạo nếu khơng
trình biên dịch sẽ tạo ra lỗi.
- Từ khóa out được sử dụng để lấy dữ liệu
theo cách đơn hướng.
- Không cần khởi tạo biến nếu sử dụng từ
khóa out.
- Trong phương thức được gọi, không bắt
buộc phải khởi tạo tham số được truyền
dưới dạng ref.
- Trong phương thức được gọi, nó được yêu
cầu khởi tạo tham số được truyền ra.
Cả hai đều là các từ khóa được sử dụng để tham chiếu các tham số của một phương
thức.
5. Phương thức đệ quy
Phương thức đệ quy là một phương thức tự gọi lại chính nó. Vì là phương thức gọi
lại chính nó nên các khối lệnh trong phương thức sẽ được lặp đi lặp lại cho đến khi
đạt đến một điều kiện nhất định thì kết thúc.
Ví dụ 7: Ví dụ cổ điển ứng dụng phương thức đệ quy chính là tính giai thừa của
một số.
- Chương trình:
using System;
namespace Method
{
class Program
{
//Tạo một phương thức từ định nghĩa để tính giai thừa của một số 1-->n
public static int Giaithua(int n)
{
if (n == 0)
return 1; //Kết thúc đệ quy
else
return n * Giaithua(n - 1); //Gọi đệ quy
}
1
6
Huỳnh Thị Bé Huyền_31191025761
static void Main(string[] args)
{
Console.WriteLine("Tao ham de quy de tinh giai thua:");
Console.Write("Nhap n: ");
int n = int.Parse(Console.ReadLine());
Console.WriteLine("Giai thua cua {0}! = {1}",n,Giaithua(n));
Console.ReadLine();
}
}
}
- Kết quả:
- Nhận xét: Việc tính toán được thực hiện như sau với n=5 :
5 != 5 *
4!
4 !=4 * 3 !
3 !=3 * 2 !
2 !=2*
1!
1 !=1*0 !
0 !=1 dừng.
Vậy, để tiến hành một phương thức đệ quy cần xác định điều kiện dừng và thực
hiện phương thức đệ quy gọi lại chính nó cho đến khi trả về điều kiện dừng. Từ đó
ta rút ra đệ quy thường có 3 đặc tính như sau:
• Ít nhất một nhánh để thực hiện gọi đệ quy (thường trong lệnh if) – nhánh lặp.
• Ít nhất một nhánh để kết thúc đệ quy (thường trong lệnh if) - nhánh cơ sở.
• Đầu vào phải thay đổi với mỗi lần gọi đệ quy.
1
7
Huỳnh Thị Bé Huyền_31191025761
Đệ quy có phần hơi giống với vịng lặp, nó cần có điều kiện dừng để tránh đệ quy
vô tận. Đa phần các phương thức đệ quy đều có thể chuyển qua sử dụng các vịng
lặp và tốc độ thực thi của vòng lặp nhanh hơn so với đệ quy. Vì vậy mà thơng
thường người ta sử dụng câu lệnh lặp.
Ví dụ về ứng dụng của đệ quy để giải Bài toán tháp Hà Nội: Viết chương trình
C# sử dụng hàm đệ quy để giải bài tốn Tháp Hà Nội. Bài toán tháp Hà Nội (Tower
of Hà Nội) là một trị chơi tốn học gồm 3 cột và số đĩa nhiều hơn 1. Nhiệm vụ của
trò chơi là di chuyển các đĩa có kích cỡ khác nhau sang cột khác sao cho vẫn đảm
bảo thứ tự ban đầu của các đĩa là đĩa nhỏ nằm trên đĩa lớn.
1
8
Huỳnh Thị Bé Huyền_31191025761
- Chương trình:
using System;
namespace Method
{
class Program
{
//Hàm cần chuyển n đĩa từ cọc nguồn đến cọc đích sử dụng cọc trung gian
public static void towers(int n, char from, char to, char aux)
{
//Nếu chỉ cịn 1 đĩa thì chuyển trực tiếp giữa hai cọc
if (n == 1)//Kết thúc đệ quy
Console.WriteLine("Di chuyen dia 1 tu {0} toi {1}", from, to);
else
{
//Gọi hàm đệ quy di chuyển n-1 đĩa tới cọc phụ
towers(n - 1, from, aux, to);//Gọi đệ quy
Console.WriteLine("Di chuyen đia {0} tu {1} toi {2}", n, from, to);
//Gọi hàm đệ quy di chuyển n-1 đĩa từ cọc phụ về cọc ban đầu
towers(n - 1, aux, to, from); //Gọi đệ quy
}
}
public static void Main()
{
Console.WriteLine("Bai toan thap Ha Noi");
int n;
Console.Write("Nhap vao so dia:");
n = int.Parse(Console.ReadLine());
towers(n, 'A', 'B', 'C');
Console.ReadLine();
}
}
}
- Kết quả:
1
9
Huỳnh Thị Bé Huyền_31191025761
III.
KẾT LUẬN
Quan bài tiểu luận Phương thức trong ngơn ngữ lặp trình C# đã đáp ứng phần nào
về yêu cầu đặt ra là cung cấp những kiến thức cơ bản về Phương thức (Method)
trong ngôn ngữ lặp trình C#. Hiểu và nắm rõ được phương thức tạo nên một nền
tảng kiến thức vững chắc cho việc đi sâu vào nghiên cứu ngơn ngữ lặp trình C# và
ứng dụng để phát triển phần mềm sau này.
Tuy nhiên hiện tại kiến thức về chun mơn của em cịn chưa sâu cần trao dồi, học
tập thêm rất nhiều nên cũng khó tránh khỏi những thiếu sót nhất định. Em mong sẽ
nhận được những ý kiến đóng góp từ cơ để cho đề tài thêm hoàn thiện hơn. Em xin
chân thành cảm ơn.
2
0
Tài liệu tham khảo
Phạm Cơng Ngơ 2007, Lập trình C# từ cơ bản đến nâng cao
Lập trình Visual C# thế nào ? - Tập 1: C# Căn bản và Visual Studio.NET IDE
(Dương Quang Thiện)
/>