F -X C h a n ge<br />
<br />
PD<br />
<br />
F -X C h a n ge<br />
<br />
N<br />
<br />
y<br />
<br />
bu<br />
<br />
om<br />
<br />
k<br />
lic<br />
tr<br />
<br />
ac<br />
<br />
.c<br />
<br />
C<br />
<br />
om<br />
<br />
k<br />
lic<br />
C<br />
<br />
.c<br />
<br />
re<br />
<br />
.<br />
<br />
.<br />
<br />
k e r- s o ft w a<br />
<br />
w<br />
<br />
w<br />
<br />
ac<br />
<br />
ww<br />
<br />
ww<br />
<br />
tr<br />
<br />
to<br />
<br />
to<br />
<br />
bu<br />
<br />
y<br />
<br />
N<br />
<br />
O<br />
W<br />
!<br />
<br />
12/05/2011<br />
<br />
O<br />
W<br />
!<br />
<br />
PD<br />
<br />
k e r- s o ft w a<br />
<br />
i dung<br />
Ch<br />
<br />
ng 2<br />
<br />
n t ng ngôn ng<br />
<br />
1. Ki u d<br />
C# là ngôn ng ph i khai<br />
báo ki u c a m i i<br />
ng khi t o<br />
C# chia thành hai t p h p<br />
ki u d li u:<br />
o Ki u xây d ng s n (built- in)<br />
o Ki u<br />
c ng i dùng nh<br />
ngh a (user-defined)<br />
<br />
C#<br />
<br />
1. Ki u d li u<br />
2. Bi n<br />
3. H ng<br />
4. Bi u th c<br />
5. Kho ng tr ng<br />
6. Câu l nh<br />
7. Toán t<br />
8.<br />
nh d ng<br />
9. M t s hàm c b n<br />
10. Câu h i<br />
<br />
Ki u d<br />
<br />
li u<br />
<br />
li u giá tr<br />
<br />
Ki u d li u giá tr<br />
(value)<br />
<br />
Ki u d li u tham<br />
chi u (reference)<br />
<br />
1<br />
<br />
re<br />
<br />
F -X C h a n ge<br />
<br />
PD<br />
<br />
F -X C h a n ge<br />
<br />
N<br />
<br />
y<br />
<br />
bu<br />
<br />
Ki u d<br />
Object:<br />
String:<br />
Class:<br />
Delegate:<br />
Interface:<br />
Array:<br />
<br />
Chuy n<br />
<br />
li u tham chi u<br />
<br />
ây là ki u d li u c s ch a t t<br />
các ki u d li u khác trong C#<br />
ki u d li u chu i ký t<br />
ki u d li u class<br />
ki u d li u chuy n giao<br />
ki u d li u giao ti p<br />
ki u d li u m ng<br />
<br />
i các ki u d<br />
<br />
om<br />
<br />
k<br />
lic<br />
tr<br />
<br />
ac<br />
<br />
.c<br />
<br />
C<br />
<br />
om<br />
<br />
k<br />
lic<br />
C<br />
<br />
.c<br />
<br />
re<br />
<br />
.<br />
<br />
.<br />
<br />
k e r- s o ft w a<br />
<br />
w<br />
<br />
w<br />
<br />
ac<br />
<br />
ww<br />
<br />
ww<br />
<br />
tr<br />
<br />
to<br />
<br />
to<br />
<br />
bu<br />
<br />
y<br />
<br />
N<br />
<br />
O<br />
W<br />
!<br />
<br />
12/05/2011<br />
<br />
O<br />
W<br />
!<br />
<br />
PD<br />
<br />
k e r- s o ft w a<br />
<br />
p phát b nh<br />
Các bi n c a ki u d<br />
li u giá tr<br />
<br />
Các bi n c a ki u d<br />
li u tham chi u<br />
<br />
c l u trên stack,<br />
vùng nh này<br />
c<br />
tham chi u b i tên c a<br />
bi n<br />
<br />
c c p phát trên<br />
heap<br />
<br />
Stack là m t c u trúc d<br />
li u l u tr thông tin<br />
ng x p ch ng t c là<br />
vào sau ra tr c (Last In<br />
First Out : LIFO)<br />
<br />
li u<br />
<br />
Khi m<br />
i t ng<br />
c c p phát trên<br />
heap thì a ch c a nó<br />
c tr v , và a ch<br />
này<br />
c gán n m t<br />
tham chi u<br />
<br />
Parse<br />
Ph<br />
<br />
ng th c Parse là ph ng th c<br />
cs<br />
ng khá ph bi n khi chúng ta mu n chuy n<br />
i<br />
t chu i sang<br />
t ki u d li u t ng ng<br />
<br />
i ki u d li u c b n trong C# u có ph ng<br />
th c Parse<br />
chuy n i sang ki u d li u ó<br />
<br />
2<br />
<br />
re<br />
<br />
F -X C h a n ge<br />
<br />
PD<br />
<br />
F -X C h a n ge<br />
<br />
N<br />
<br />
y<br />
<br />
bu<br />
<br />
Ví d<br />
int a = Int32.Parse("123"); //a s mang giá tr 123<br />
float b = Float.Parse("20.7"); //b s mang giá tr 20.7<br />
bool c = Boolean.Parse("true"); //c s mang giá tr true<br />
<br />
byte b = Byte.Parse(“10000000000”); //quá gi i h n,<br />
bool c = Boolean.Parse(null); //tham s là null,<br />
ArgumentNullException<br />
<br />
om<br />
<br />
k<br />
lic<br />
tr<br />
<br />
ac<br />
<br />
.c<br />
<br />
C<br />
<br />
om<br />
<br />
k<br />
lic<br />
C<br />
<br />
.c<br />
<br />
re<br />
<br />
.<br />
<br />
.<br />
<br />
k e r- s o ft w a<br />
<br />
w<br />
<br />
w<br />
<br />
ac<br />
<br />
ww<br />
<br />
ww<br />
<br />
tr<br />
<br />
to<br />
<br />
to<br />
<br />
bu<br />
<br />
y<br />
<br />
N<br />
<br />
O<br />
W<br />
!<br />
<br />
12/05/2011<br />
<br />
O<br />
W<br />
!<br />
<br />
PD<br />
<br />
k e r- s o ft w a<br />
<br />
TryParse<br />
Gi ng nh Parse, TryParse ng là ph ng th c<br />
c tích h p s n trong các l p ki u d li u c<br />
n c a C#<br />
Cú pháp c a TryParse có ph n khác v i Parse<br />
.TryParse(tham s 1, out tham s 2);<br />
<br />
Convert<br />
int a;<br />
Int32.TryParse(“123”, out a); //a s mang giá tr 123<br />
bool b;<br />
Boolean.TryParse(“false”, out b); //b s mang giá tr false<br />
<br />
int a;<br />
Int32.TryParse("hello", out a); //tr v giá tr false, a mang giá tr 0<br />
<br />
bool b;<br />
Boolean.TryParse("", out b); //tr v giá tr false, b mang giá tr False<br />
<br />
p Convert là m t<br />
p cho chúng ta r<br />
khác nhau<br />
chuy<br />
này sang ki u d li<br />
<br />
l p ti n ích trong C# cung<br />
t nhi u ph ng th c t nh<br />
n i t m t ki u d li u<br />
u khác<br />
<br />
Tham s mà các ph ng th c trong Convert<br />
nh n không nh t thi t ph i là chu i mà có th<br />
nhi u ki u d li u khác nhau (int, bool,<br />
double…)<br />
<br />
3<br />
<br />
re<br />
<br />
F -X C h a n ge<br />
<br />
PD<br />
<br />
F -X C h a n ge<br />
<br />
N<br />
<br />
y<br />
<br />
bu<br />
<br />
om<br />
<br />
k<br />
lic<br />
tr<br />
<br />
ac<br />
<br />
.c<br />
<br />
C<br />
<br />
om<br />
<br />
k<br />
lic<br />
C<br />
<br />
.c<br />
<br />
re<br />
<br />
.<br />
<br />
.<br />
<br />
k e r- s o ft w a<br />
<br />
w<br />
<br />
w<br />
<br />
ac<br />
<br />
ww<br />
<br />
ww<br />
<br />
tr<br />
<br />
to<br />
<br />
to<br />
<br />
bu<br />
<br />
y<br />
<br />
N<br />
<br />
O<br />
W<br />
!<br />
<br />
12/05/2011<br />
<br />
O<br />
W<br />
!<br />
<br />
PD<br />
<br />
k e r- s o ft w a<br />
<br />
Casting (Ép ki u)<br />
bool a = Convert.ToBoolean("khoaimon");<br />
int b = Convert.ToInt32("123456787654");<br />
<br />
Ép ki u là cách chúng ta có th s d ng khi<br />
mu n chuy n i gi a các ki u d li u có tính<br />
ch t t ng t nhau (th ng là s )<br />
Có 2 lo i:<br />
o<br />
ng minh<br />
o Không t ng minh<br />
<br />
Casting (Ép ki u)<br />
short x = 10;<br />
int y = x; // chuy n<br />
<br />
i ng m<br />
<br />
short x;<br />
int y = 500;<br />
x = (short) y; // Ép ki u t<br />
<br />
t bi n là m t vùng l u tr v i m t ki u d li u<br />
Bi n có th<br />
c gán giá tr và c ng có th thay i<br />
giá tr khi th c hi n các l nh trong ch ng trình<br />
<br />
nh<br />
<br />
short x;<br />
int y = 100;<br />
x = y; // Không biên d ch, l i !!!<br />
<br />
2. Bi n<br />
<br />
short 2 byte<br />
int 4 byte<br />
<br />
ng minh, không báo l i<br />
<br />
Khai báo:<br />
, , …;<br />
Gán giá tr :<br />
= ;<br />
<br />
4<br />
<br />
re<br />
<br />
F -X C h a n ge<br />
<br />
PD<br />
<br />
F -X C h a n ge<br />
<br />
N<br />
<br />
y<br />
<br />
bu<br />
<br />
uý<br />
Các bi<br />
Tên bi<br />
Tên bi<br />
Tên bi<br />
<br />
ac<br />
<br />
.c<br />
<br />
tr<br />
<br />
k e r- s o ft w a<br />
<br />
Ph m vi c a bi n<br />
<br />
n ph i<br />
c kh i t o tr c khi s d ng<br />
n phân bi t ch hoa, ch th ng<br />
n ch có th b t u v i ký t ho c d u _<br />
n không<br />
c:<br />
<br />
o Không th b t u v i ch s<br />
o Ch a ký t<br />
c bi t nh $,#,%,^…<br />
o Trùng v i t khóa (nh ng n u mu n<br />
khóa thì dùng @<br />
ng tr c)<br />
o i ngh a<br />
<br />
om<br />
<br />
k<br />
lic<br />
C<br />
<br />
om<br />
<br />
k<br />
lic<br />
C<br />
<br />
.c<br />
<br />
re<br />
<br />
.<br />
<br />
.<br />
<br />
k e r- s o ft w a<br />
<br />
w<br />
<br />
w<br />
<br />
ac<br />
<br />
ww<br />
<br />
ww<br />
<br />
tr<br />
<br />
to<br />
<br />
to<br />
<br />
bu<br />
<br />
y<br />
<br />
N<br />
<br />
O<br />
W<br />
!<br />
<br />
12/05/2011<br />
<br />
O<br />
W<br />
!<br />
<br />
PD<br />
<br />
Toàn c c<br />
cb<br />
<br />
t trùng tên v i<br />
<br />
3. H ng<br />
ng c ng là m t bi n nh ng giá tr c a h ng<br />
không thay i<br />
ng<br />
c phân thành ba lo i:<br />
o Giá tr h ng (literal)<br />
o Bi u t ng h ng (symbolic constants)<br />
o Ki u li u kê (enumerations)<br />
<br />
Câu l nh:<br />
= ;<br />
<br />
Const int a = 20;<br />
<br />
5<br />
<br />
re<br />
<br />