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