Phần 1: Biên dịch và thực thi chương trình 1.Biên dịch và thực thi C++, Visual Basic 6.0 -Visual C++ và Visual Basic 6.0 mỗi ngôn ngữ có riêng tương ứng +Một IDE Integrated Developmen
Trang 2Mục lục
1.Biên dịch và thực thi chương trình
1.1 Biên dịch và thực thi của C++, Visual Basic 6.0 1.2 Biên dịch và thực thi chương trình NET 1.3.Vai trò của MSIL
2 Giải thích không gian tên
2.1 Không gian tên
2.2 Từ khóa Using
2.3 Sử dụng định danh
3.Các dạng của phương thức Main
6 Khai báo chỉ thị Region
Trang 3Phần 1:
Biên dịch và thực thi chương trình
1.Biên dịch và thực thi C++, Visual Basic 6.0
-Visual C++ và Visual Basic 6.0 mỗi ngôn ngữ có riêng tương ứng
+Một IDE (Integrated Development Environmen)
+Trình biên dịch (compiler)
+Trình thi hành môi trường chạy (runtime environment)
- Mỗi ngôn ngữ phải có trình biên dịch để biên dịch mã chương trình của chúng ra tập tin có thể thực thi (Executeable Code) rồi từ tập tin này bạn có thể chạy chương trình trên mỗi runtime tương ứng
- Khi triển khai chương trình được viết bằng một trong những ngôn ngữ lập trình thuộc bộ Visual Studio 6.0 trên máy PC, bạn cần cài đặt các thư viện tương ứng để cho phép chương trình có thể chạy trên máy đó Tuy nhiên vấn đề đính kèm các thư viện này được thực hiện khi đóng gói và triển khai chương trình.
Trang 4Tóm lại, chúng ta thử hình dung cơ chế biên dịch và thực thi chương trình của hai ngôn ngữ lập trình chính trong bộ Visual Studio 6.0 như hình:
Mã có thểthực thi
Mã đãthực thiRun time
Run time
Hình 3.1 Biên dịch và thực thi chương trình.
Trang 52.Biên dịch và thực thi chương trình NET
- Với NET thì compiler của mỗi ngôn ngữ sẽ biên dịch mã nguồn ra một định dạng trung gian được gọi là IL (Intermediate Language)
hay MSIL (Microsoft Intermediate Language), định dạng trung gian này thay thế Executable Code trong hình 3.1
- Bên cạnh đó NET không tồn tại trình Runtime cho mỗi ngôn ngữ lập trình của chúng, thay vào đó trình Runtime được thay thế bởi một trình dùng chung do NET Framework cung cấp là CLR (Common Language Runtime)
2.1 MSIL
- MSIL hay IL là ngôn ngữ hỗ trợ thao tac giữa các thành phần , chúng gần giống với mã nhị phân và được định nghĩa như một tập lệnh
và dễ dàng chuyển sang mã máy bằng CLR
- Lưu ý, chương trình NET được biên dịch lần thứ nhất có thê chạy trên hệ điều hành bất kỳ hay CPU có hỗ trợ CLR
Trang 6Mã có thểthực thi
Mã đãthực thiRun time
Run time
Hình 3.2 Biên dịch và thực thi chương trình trong NET
Trang 73.Vai trò của MSIL
-Vai trò của CLR là dùng để thực thi mã với định dạng MSIL thành mã máy khi chạy chương t 3 rình bằng cách sử dụng cơ chế
JIT (Just In Time)
-Biên dịch và thực thi chương trình NET được gọi là biên dịch 2 lần
+Lần 1 chính là biên dịch chương trình ra tập tin với định dạng MSIL, lần thứ hai được thực hiện khi bạn thực thi những Assembly này trên môi trường NET ,chúng sẽ biên dịch thành mã máy
+Lần 2 nhanh hơn lần thứ nhất bởi vì định dạng MSIL gần với cú pháp của mã máy
- Lưu ý NET Framework for Linux đã được Microsoft phát triển nhằm cho phép bạn có thể biên dịch và chạy chương trình của NET trên máy cài đặt hệ điều hành Linux
Trang 9Phần 2:
Các không gian tên
1.Không gian tên
- NET Framework 2.0 cung cấp nhiều không gian tên chứa đựng Class, giao tiếp(Interface) , kiểu dữ liệu dùng chung cho mọi ngôn ngữ lập trình
Trang 111.7 System.Congiguration
Chứa đựng các types dùng để kiểm soát việc cấu hình ứng dụng.Chẳng hạn, bạn có thể khai báo tập tin config với các khóa và giá trị, từ đó
chương trình C# có thể đọc và thực thi dựa trên những cấu hình này
Trang 121.11 System.Data
Cơ chế làm việc với cơ sở dữ liệu của NET được chia thành hai thành phần chính là lớp kết nối trực tiếp với cơ sở dữ liệu(Connectivity Architecture) và lớp không kết nối cơ sở dữ liệu (Disconnected Architecture)
Không gian tên System.Data chứa đựng classes cấu thành kiến trúc ADO.NET Kiến trúc ADO.NET cho phép bạn xây dựng thành phần quản
lý và thao tác nhiều dữ liệu nguồn khác nhau
Trong trường hợp ứng dụng Internet thì ADO.NET cung cấp công cụ dùng để yêu cầu, cập nhật và điều phối dữ liệu trên nhiều tầng hệ
Trang 131.14 System.Data.Odbc
Chứa đựng các lớp dùng để kết nối, xử lý dữ liệu thông qua ODBC(Open Database Connectivity) Chẳng hạn, khi làm việc với cơ sở dữ liệu Fox, DB2, MySQL, PostgreSQL thì bạn có thể sử dụng các lớp của không gian tên System.Data.Odbc
1.15 System.Data.OleDb
Chứa đựng các lớp dùng để nối, xử lý dữ liệu dạng nhúng như cơ sở dữ liệu: Access, SQL Server, Excel, Như vậy, khi làm việc với các loại cơ sở
dữ liệu Access, SQLServer, thì bạn sử dụng các lớp của không gian tên System.Data.OleDb
Trang 141.18 System.Data.SqlClient
Chứa đựng các lớp dùng để kết nối, xử lý dữ liệu của cớ sở dữ liệu SQL Server Khi làm việc với các loại cơ sở dữ liệu SQL Server thì bạn
có thể sử dụng các lớp của không gian tên System.Data.SqlClient
Trang 171.33 System.Web.Mail
Những lớp trong không gian tên này được khuyến cáo là không nên sử dụng do không tiếp tục nâng cấp chúng trong những phiên bản kế tiếp của NET Framework Thay vào đó, bạn có thể sử dụng các lớp trong không gian tên System.Net.Mail
System.Web.Mail chứa đựng các lớp cho phép bạn xây dựng và gởi tin nhắn bằng thành phần CDOSYS Tin nhắn được gửi thông qua dịch
vụ SMTP (có trong Microsoft Windows 2000 hay SMTP Server)
Trang 19using cũng có thể cung cấp một không gian tên bí danh (alias) cho các kiểu tham chiếu.
Trang 203 Sử dụng định danh
-Định danh là tên mà người lập trình chọn đại diện một kiểu, phương thức , biến , hằng, đối tượng của người lập trình
- Định danh bắt đầu bằng một kí tự hay dấu “_”
- Định danh ko đc trùng với từ khóa C# và phân biệt hoa thường
- Sử dụng định danh với Class đính kèm không gian tên cho phép bạn sử dụng tên định danh ngắn gọn hơn Chẳng hạn như khai báo và sử dụng không gian tên System.Data.SqlConnection rồi khai báo biến kiểu đối tượng SqlConnection:
Trang 21//ĐỊnh nghĩa chuỗi kết nối cơ sở dữ liệu
string strCon = “sever = (local);”;
strCon + = “database = myDB;uid=sa;pwd=;”;
//gán chuooic kết nói cơ sở dữ liệu cho thuộc tính
Trang 22Phần 3
Các dạng của phương thức Main
- Mỗi chương trình C# phải có 1 hàm Main Hàm Main là nơi tạo ra các đối tương, thực thi và cuối cùng là kết thúc chương trình
- Hàm Main là 1 hàm tĩnh(static) nằm trong 1 class hoặc 1 struct
- Mỗi chương trình C# phải có 1 hàm Main Hàm Main là nơi tạo ra các đối tương, thực thi và cuối cùng là kết thúc chương trình
-Hàm Main là 1 hàm tĩnh(static) nằm trong 1 class hoặc 1 struct
a) Phương thức Main có tham số
Trang 23b) Phương thức Main không có tham số
Trang 24static int Main (string[] args)
{
int namdinh = 0 ;
namdinh = convert.ToInt32(Console.Readline());//trả về giá trị kiểu int
return namdinh;
}
}
}
Trang 27The End !
Good luck to you!