TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
1
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bài 2: Các khái niệm và nguyên tắc 
cơ bảncủa NET Framework
cơ
 
bản
 
của
 .
NET
 
Framework
• Tổng quan về .NET Framework
• Các kiểu dữ liệu
• Biến và hằng
• Các toán tử
2
-8 tiết -
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tổng quan về .NET Framework
• .NET Framework là thành phần nền tảng cho mọi công 
c
ụ
 
p
hát tri
ể
n ứn
g
 d
ụ
n
g
 .NET
ụ p g ụ g
• .NET Framework được thiết kế nhằm hỗ trợ cho các 
trình ứng dụng và các service thế hệ kế tiếp 
• Cung cấp các lớp đối tượng (Class) để có thể gọi thi 
hành các chức năng mà đối tượng đó cung cấp 
ấ ố ể ủ
• Cung c
ấ
p hơn 5000 lớp đ
ố
i tượng đ
ể
 gọi thực hiện đ
ủ 
các loại dịch vụ từ hệ điều hành 
3
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tổng quan về .NET Framework
• Kiến trúc của .NET Framework 
4
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Tổng quan về .NET Framework
• Hệ thống namespace trong .NET Framework 
5
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Bài 2: Các khái niệm và nguyên tắc 
cơ bảncủa NET Framework
cơ 
bản 
của
 .
NET 
Framework
•
Tổng quan về NET Framework
•
Tổng 
quan 
về
 .
NET 
Framework
• Các kiểu dữ liệu
•
Biế àhằ
•
Biế
n v
à 
hằ
ng
• Các toán tử
6
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Khái niệm
ể
• Cách tạo và sử dụng các ki
ể
u dữ liệu
• Chuyển đổi giữa các kiểu dữ liệu
7
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Khái niệm
Táôữ lậ tì h ấ lô ó á i
−
T
rong c
á
c ng
ô
n ng
ữ 
lậ
p 
t
r
ì
n
h
 c
ấ
p cao 
l
u
ô
n c
ó
 c
á
c qu
i 
định về định nghĩa dữ liệu trong lập trình 
−
Kiểu là khái niệmámchỉ việc định nghĩahìnhthái cấu
Kiểu
 là 
khái 
niệm 
ám 
chỉ 
việc 
định 
nghĩa 
hình 
thái
, 
cấu 
trúc và giá trị của dữ liệu, bao gồm cách biểu diễn và xử 
lý của dữ liệu
ể ả ế
− Ki
ể
u dữ liệu trong .NET được mô t
ả
 chi ti
ế
t trong một 
cấu trúc gọi là Common Type System (CTS) 
8
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Khái niệm
Kiể dữ liệ tNETđ hi thà h hiề l i
−
Kiể
u 
dữ 
liệ
u 
t
rong .
NET 
đ
ược c
hi
a 
thà
n
h
 n
hiề
u 
l
oạ
i
:
• Kiểu giá trị (Value Types)
•
Kiểu tham chiếu (Reference Types)
Kiểu 
tham 
chiếu 
(Reference 
Types)
• Kiểu do người dùng định nghĩa (User-defined Types)
• Kiểu liệt kê (Enumerations) 
− Mỗi kiểu dữ liệu trong .NET là một đối tượng, nghĩa là nó 
có các thuộc tính và phương thức riêng. Một trong 
những phương thứcthường dùng nhất là Parse và
9
những 
phương 
thức 
thường
 dùng 
nhất 
là 
Parse 
và 
ToString
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Cách tạo và sử dụng các kiểu dữ liệu
Cá kiể iá t ị (V l T )
−
Cá
c 
kiể
u g
iá 
t
r
ị 
(V
a
l
ue 
T
ypes
)
− Các kiểu tham chiếu (Reference Types)
10
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Các kiểu giá trị (Value Types)
Bao gồmcáckiểudữ liệusố học ngày giờ kiểuluậnlý kiểu
−
Bao 
gồm 
các 
kiểu 
dữ 
liệu 
số 
học
, 
ngày
 giờ
, 
kiểu 
luận 
lý
, 
kiểu 
do người dùng định nghĩa và kiểu liệt kê
− Các biến có kiểu giá trị là những biến chứa trực tiếp dữ liệu 
ế
của chúng thay vì chứa một tham chi
ế
u tới dữ liệu được lưu 
trữ tại một nơi nào đó trong bộ nhớ (memory)
−
Các instance củakiểugiátrị đượclưutrữ trong một vùng nhớ
Các 
instance 
của 
kiểu 
giá 
trị 
được 
lưu 
trữ 
trong 
một 
vùng 
nhớ 
được gọi là stack, ở đó tại thời điểm vận hành (runtime) có 
thể tạo (create), đọc (read), cập nhật (update), và loại bỏ 
(
remove
)
 chún
g
 m
ộ
t cách nhanh chón
g 
11
()gộ g
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Các kiểu giá trị (Value Types)
Các kiểugiátrị tổng quát:
−
Các 
kiểu 
giá 
trị 
tổng 
quát:
• Các kiểu giá trị được xây dựng sẵn (Built-in types) 
•
Các kiểudongười dùng định nghĩa (User
-
defined types)
Các 
kiểu 
do 
người 
dùng 
định 
nghĩa 
(User
defined 
types) 
• Các kiểu liệt kê (Enumerations) 
12
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Kiểu giá trị được xây dựng sẵn (Built-in types)
Là các kiểucơ sở do NET Framework cung cấpcáckiểudữ
−
Là 
các 
kiểu 
cơ 
sở 
do
 .
NET 
Framework 
cung 
cấp
, 
các 
kiểu 
dữ 
liệu khác đều được xây dựng dựa trên các kiểu dữ liệu cơ sở 
này
ấ ể ố
− T
ấ
t cả các ki
ể
u dạng s
ố
 (numeric types) được xây dựng 
sẵn đều thuộc loại kiểu giá trị 
−
Bảng sau liệtkêcáckiểusố thường dùng nhất:
−
Bảng
 sau 
liệt 
kê 
các 
kiểu 
số 
thường 
dùng 
nhất:
13
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kiểu/Alias C# Kích thướcMiềngiátrị (Range)
S
y
stem.SB
y
te
/
sb
y
te 1 b
y
te -128 Æ 127
y
y
y
y
System.Byte/byte 1 byte 0 Æ 255
System.Short/short 2 bytes -32768 Æ 32767
System
Integer
/
int
4bytes
2147483648
Æ
2147483647
System
.
Integer
/
int
4 
bytes
-
2147483648
Æ
2147483647
System.UInteger/uint 4 bytes 0 Æ 4294967295
System.Long/long 8 bytes -9223372036854775808Æ
9223372036854775807
9223372036854775807
System.Single/float 4 bytes -3.402823E+38 Æ 3.402823E+38
System.Double/double 8 bytes -1.79769313486232E+308
Æ
1
79769313486232
E
308
Æ
1
.
79769313486232
E
+
308
System.Decimal/decimal 16 bytes -79228162514264337593543950335 Æ
79228162514264337593543950335
14
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kiểu/Alias C# Kích thướcMiềngiátrị (Range)
System.Char/char
2 b
y
tes N/
A
y
System.Boolean/bool
4 bytes N/A
System.DateTime 
(Date/date)
8 bytes 1/1/0001 12:00:00 AM Æ
12
/
3
1
/
9999
11:
59
:
59
PM
/
3
/
9999
59
59
− Việc sử dụng alias hoàn toàn tương đương với cách sử dụng 
tên kiểu theo cách đầ
y
 đủ, tu
y
 nhiên hầu hết các l
ập
 trình viên 
y y ập
sử dụng alias để chúng ngắn gọn hơn.
− Khi gán các biến kiểu giá trị với nhau, dữ liệu được sao chép 
từ biến này tớibiếnkiavàđượclưutrữ tại hai vị trí khác nhau
từ 
biến 
này 
tới 
biến 
kia 
và 
được 
lưu 
trữ 
tại 
hai 
vị 
trí
 khác 
nhau 
trên stack 
− Các kiểu giá trị thường được dùng để trình bày các giá trị đơn 
giản
15
giản
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Kiểu do người dùng định nghĩa (User-defined Types)
Kiểudongười dùng định nghĩacònđượcgọilàcác
struct
−
Kiểu 
do 
người 
dùng 
định 
nghĩa 
còn
 được 
gọi 
là 
các 
struct
. 
Giống như các kiểu giá trị khác, các instance của các kiểu do 
người dùng định nghĩa được lưu trữ trên stack và chứa trực 
tiếpdữ liệucủa chúng
tiếp 
dữ 
liệu 
của 
chúng
− struct là một kiểu cấu trúc hỗn hợp của nhiều kiểu khác nhằm 
mục đích dễ dàng làm việc với dạng dữ liệu quan hệ 
− struct có cấu trúc tương tự như class, tuy nhiên struct có kiểu 
giá trị còn class có kiểu tham chiếu. 
16
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Thông tin khách thuê bao có thể được lưu 
trữ như là mộtstruct
trữ 
như 
là 
một 
struct
− Số điện thoại
H àtê
−
H
ọ v
à 
tê
n
− Địa chỉ liên lạc
17
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Học sinh có thể được lưu trữ như là một 
struct
struct
− Mã số
H àtê
−
H
ọ v
à 
tê
n
− Ngày sinh
G
−
G
iới tính
− Tên lớp
18
−
Đ
ịa chỉ liên lạc
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Khai báo kiểu dữ liệu struct
tt
Nh Vi
s
t
ruc
t 
Nh
an_
Vi
en
{
public string Ma_so;
public string Ho_ten;
public date Ngay_sinh;
p
ublic double He so luon
g;
19
p
__
g;
}
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Khai báo biến nhân viên và gán các giá trị
Nhan_Vien nv;
nv.Ma_so = “A01”
nv.Ho_ten = “Hoàng Thị Ngọc”
nv.Ngay_sinh = DateTime.Parse(“1/24/1968”)
nv.He_so_luong = 2.0
20
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Cấu trúc (Structure)
• Hiển thị thông tin nhân viên ra màn hình
Ma_so.Text = nv1.Ma_so
Ho_ten.Text = nv1.Ho_ten
Ngay_sinh.Text = nv1.Ngay_sinh
He_so_luong.Text = nv1.He_so_luong
Gioi_tinh.Text = nv1.Gioi_tinh
21
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Kiểu liệt kê (Enumerations) 
ể
− Ki
ể
u liệt kê là các ký hiệu có cùng một họ (có liên quan 
với nhau) có các giá trị cố định. 
−
Kiểuliệtkêđược dùng để cung cấpmột danh sách chọn
Kiểu 
liệt 
kê 
được 
dùng 
để 
cung 
cấp 
một 
danh 
sách 
chọn 
lựa cho lập trình viên sử dụng
22
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Kiểu liệt kê (Enumerations) 
− Ví dụ:
enum Titles : int { Mr, Ms, Mrs, Dr }; 
− Nếu bạn tạo một instance của kiểu Titles , Visual Studio 
sẽ hiển thị một danh sách các giá trị có sẵn để gán giá trị 
cho biến
cho 
biến
23
Titles t = Titles.Dr;
Console.WriteLine("{0}.", t); // Displays "Dr."
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Kiểu liệt kê (Enumerations) 
ể ỉ ể ử
− Lưu ý: khi khai báo ki
ể
u liệt kê ch
ỉ
 có th
ể
 s
ử
 dụng các 
kiểu số nguyên như byte, sbyte, short, ushort, int, uint, 
long hoặc ulong.
24
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Các kiểu dữ liệu
• Cách khai báo các kiểu giá trị 
ể ở ầ
− Các ki
ể
u giá trị có một kh
ở
i tạo (constructor) ng
ầ
m định, 
do vậy bạn không cần phải bao gồm trong phần khai báo 
từ khóa New như khi khai báo với class
− Ví dụ:
bool b = false; 
− Trong C# mỗi câu lệnh được kết thúc bởi dấu “ ; ”
25