Bài 1:
Làm quen với C#
Giới thiệu về .NET và Visual Studio
Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C#
Kiểu dữ liệu
Toán tử
Thao tác với chuỗi
Cấu trúc điều khiển
Phương thức
Xử lý ngoại lệ
Mục tiêu bài học
Giới thiệu về .NET và Visual Studio
Giới thiệu về các kiến thức lập trình cơ bản trên ngôn ngữ C#
Kiểu dữ liệu
Toán tử
Thao tác với chuỗi
Cấu trúc điều khiển
Phương thức
Xử lý ngoại lệ
Làm quen với C#
2
Windows Forms là ứng dụng có giao diện đồ họa chạy trên hệ
điều hành Windows
Windows Forms là ứng dụng chạy trên máy tính của người
dùng
Khác với Web Forms là ứng dụng chạy trên Web Forms. Khi ứng
dụng chạy thì hiển thị kết quả lên trình duyệt
Windows Forms là một phần của kiến trúc .NET
Ứng dụng Windows Forms
Windows Forms là ứng dụng có giao diện đồ họa chạy trên hệ
điều hành Windows
.NET Framework
Làm quen với C#
5
.NET Framework Class Library bao gồm thư viện các đoạn mã được
viết sẵn cung cấp các chức năng cần thiết khi lập trình.
Các lớp Windows Forms được sử dụng để phát triển ứng dụng
Windows Forms
Các lớp ASP.NET được sử dụng để phát triển các ứng dụng Web
Forms.
Những lớp khác hỗ trợ lập trình với CSDL, quản lý bảo mật, truy
xuất file
Các lớp của .NET Framework Class Library được tổ chức thành cấu
trúc phân nhóm
Các lớp liên quan đến nhau được gom thành một nhóm gọi là
namespace
Mỗi namespace bao gồm các lớp được sử dụng cho một chức năng cụ
thể
namespace System.Windows.Forms chứa các lớp sử dụng để tạo form
namespace System.Data chứa các lớp sử dụng để truy cập dữ liệu
.NET Framework Class Library
.NET Framework Class Library bao gồm thư viện các đoạn mã được
viết sẵn cung cấp các chức năng cần thiết khi lập trình.
Các lớp Windows Forms được sử dụng để phát triển ứng dụng
Windows Forms
Các lớp ASP.NET được sử dụng để phát triển các ứng dụng Web
Forms.
Những lớp khác hỗ trợ lập trình với CSDL, quản lý bảo mật, truy
xuất file
Các lớp của .NET Framework Class Library được tổ chức thành cấu
trúc phân nhóm
CLR (Môi trường quản lý việc thi hành mã) cung cấp các dịch vụ cần
thiết để chạy ứng dụng được viết bằng ngôn ngữ .NET
Tất cả các ngôn ngữ .NET đều được biên dịch thành ngôn ngữ
trung gian (common intermediate language – CIL) hay còn được gọi
là mã được quản lý
Tất cả các ứng dụng .NET đều được thực thi dưới sự dám sát của
CLR (quản lý bộ nhớ, thực thi code, bảo mật ….), nên còn được gọi
là ứng dụng được quản lý
CRL cung cấp Hệ thống kiểu chung (Common Type System) định
nghĩa kiểu mà sẽ được sử dụng bởi tất cả các ngôn ngữ .NET
Các chương trình viết bằng các ngôn ngữ .NET khác nhau có thể
tương tác được với nhau
Common Language Runtime (CLR)
CLR (Môi trường quản lý việc thi hành mã) cung cấp các dịch vụ cần
thiết để chạy ứng dụng được viết bằng ngôn ngữ .NET
Tất cả các ngôn ngữ .NET đều được biên dịch thành ngôn ngữ
trung gian (common intermediate language – CIL) hay còn được gọi
là mã được quản lý
Tất cả các ứng dụng .NET đều được thực thi dưới sự dám sát của
CLR (quản lý bộ nhớ, thực thi code, bảo mật ….), nên còn được gọi
là ứng dụng được quản lý
CRL cung cấp Hệ thống kiểu chung (Common Type System) định
nghĩa kiểu mà sẽ được sử dụng bởi tất cả các ngôn ngữ .NET
Các chương trình viết bằng các ngôn ngữ .NET khác nhau có thể
tương tác được với nhau
Làm quen với C#
8
Biên dịch và chạy một ứng dụng
Visual Studio
IDE
hệ điều hành
Biên dịch và chạy một ứng dụng
Quá trình biên dịch
Sử dụng Visual Studio để tạo project (ứng dụng). Project gồm các
file mã nguồn, ngoài ra còn có file nhạc, ảnh, văn bản…
Biên dịch mã nguồn C# bằng bộ biên dịch mã. Kết quả sau khi biên
dịch là assembly
Assembly gồm
Ngôn ngữ trung gian (IL) được biên dịch từ file nguồn
Các tham chiếu đến các file thư viện mà ứng dụng gọi đến
Assembly có thể chạy trên PC được cài đặt CLR. Khi assembly được
chạy, CLR chuyển mã IL sang mã máy là mã có thể được chạy bằng
hệ điều hành
Làm quen với C#
10
So sánh C# với các ngôn ngữ lập trình .NET khác
Giống
Cùng sử dụng chung các lớp .NET Framework
Tạo và làm việc với form, điều khiển, sử dụng csdl và làm việc trên
cùng một IDE Visual Studio
Khác:
Cú pháp
So sánh C# với Java
Giống:
Có cú pháp gần giống nhau
Khác
Framework
IDE
So sánh C# với các
ngôn ngữ lập trình .NET khác
Visual Studio 2010
Làm quen với C#
14
Môi trường phát triển tích hợp
(IDE – Integrated Development Environment)
.NET FRAMEWORK
Visual Studio 2010
Các phiên bản của Visual Studio 2010
Phiên bản
Mô tả
Express
Miễn phí, chỉ hỗ trợ một trong các ngôn ngữ .NET. Phù hợp cho sinh
viên.
Professional
Phù hợp cho lập trình viên muốn phát triển các ứng dụng Window,
web hay mobile.
Premium
Phù hợp với lập trình viên hay nhóm lập trình viên muốn phát triển
các ứng dụng có khả năng mở rộng. Phiên bản này bao gồm các công
cụ hữu ích cho việc lập trình như công cụ kiểm thử, công cụ triển
khai CSDL, công cụ quản lý thay đổi và công cụ quản lý vòng đời dự
án. Tuy nhiên các công cụ này chỉ được hỗ trợ ở mức cơ bản.
Làm quen với C#
15
Premium
Phù hợp với lập trình viên hay nhóm lập trình viên muốn phát triển
các ứng dụng có khả năng mở rộng. Phiên bản này bao gồm các công
cụ hữu ích cho việc lập trình như công cụ kiểm thử, công cụ triển
khai CSDL, công cụ quản lý thay đổi và công cụ quản lý vòng đời dự
án. Tuy nhiên các công cụ này chỉ được hỗ trợ ở mức cơ bản.
Khi cài đặt VisualStudio sẽ tự động cài SQL Server 2008 Express là
phiên bản thu gọn của Microsoft SQL Server 2008
Visual Studio 2010
Làm quen với C#
17
KIỂU DỮ LIỆU
Làm quen với C#
18
KIỂU DỮ LIỆU
Cũng giống như VB, C# có hai kiểu dữ liệu
Dữ liệu kiểu giá trị
Tương ứng với kiểu Integer, Double… của Visual Basic
Dữ liệu kiểu tham chiếu
Tương ứng với kiểu String và Object … của Visual Basic
Kiểu dữ liệu
Kiểu giá trị
Kiểu tham chiếu
Làm quen với C#
19
Kiểu giá trị
Kiểu tham chiếu
Dữ liệu kiểu giá trị
C# keyword
VB
Bytes
.NET type
(structure)
Mô tả
(Kiểu dữ liệu được hỗ trợ bởi .NET 4)
byte
Số nguyên dương từ 0 đến 4.294.967.295
long
Long
8
Int64
Số nguyên từ -9.223.327.036.854.775.808 đến
9.223.327.036.854.775.807
ulong
ULong
8
UInt64
Số nguyên dương từ 0 đến 18.446.744.073.709.551.615
float
Single
4
Single
Số thập phân có 7 chữ số sau dấu phẩy
double
Double
8
Double
Số thập phân có 14 chữ số sau dấu phẩy
decimal
Decimal
16
Decimal
Số nguyên dương với 28 chữ số (gồm phần nguyên và
thập phân)
char
Char
bool
Lưu ý rằng mỗi kiểu dữ liệu lưu một giải giá trị khác nhau nên tùy
vào trường hợp sử dụng để sử dụng kiểu dữ liệu phù hợp
Làm quen với C#
21
C# keyword
VB keyword
.NET type (Class)
Mô tả
string
String
String
Tham chiếu đến đối tượng String
object
Object
Object
Tham chiếu đến bất kỳ kiểu đối
tượng nào
Dữ liệu kiểu tham chiếu
Tham chiếu đến bất kỳ kiểu đối
tượng nào
Làm quen với C#
22
Kiểu string là kiểu object được định nghĩa trước
.NET định nghĩa các kiểu dữ liệu bởi Common Type System thuộc
CLR
Mỗi ngôn ngữ .NET sẽ có kiểu dữ liệu tương ứng với kiểu được định
nghĩa trong CTS
Sau khi biên dịch các kiểu này sẽ được chuyển về kiểu CTS tương
ứng
kieuBien tenBien;
tenBien = giaTri;
int x;
x = 1;
kieuBien tenBien = giaTri;
int x = 1;
Sau mỗi câu lệnh đều
có dấu chấm phẩy
Khai báo và gán giá trị
Khai báo và gán giá trị trên cùng dòng
Khai báo và khởi tạo hằng
Làm quen với C#
24
Dim tenBien As kieuBien = giaTri
Dim x As Integer = 1
const tenHang As kieuBien = giaTri
const x As Integer = 5
Khai báo và gán giá trị
Khai báo và gán giá trị trên cùng dòng
Khai báo và khởi tạo hằng
kieuBien tenBien = giaTri;
int x = 1;
const kieuBien tenHang = giaTri;
const int x = 5;
Chú ý: Tên biến đặt theo ký pháp lạc đà
C# hỗ trợ hai kiểu ép kiểu: Ép kiểu mở rộng và ép kiểu thu hẹp
Ép kiểu mở rộng
Chuyển từ kiểu có độ chính xác bé sang kiểu có độ chính xác lớn hơn
Cũng như Visual Basic, C# tự động ép kiểu mở rộng
C# tự động chuyển từ kiểu bên trái sang bên phải