You are on page 1of 15

12/05/2011

1
Chuong 2
Nn tng ngn ng C#
Ni dung
1. Kiu du liu
2. Bin
3. Hang
4. Biu thuc
5. Khoang trang
6. Cu lnh
7. Ton tu
8. inh dang
9. Mt s hm co ban
10. Cu hi
1. Kiu d liu
C# l ngn ngu phai khai
bo kiu cua mi di
tuong khi tao
C# chia thnh hai tap hop
kiu du liu:
o Kiu xy dungsan (built- in)
o Kiu duoc nguoi dng dinh
nghia (user-defined)
Kiu du liu gi trl
(value)
Kiu du liu tham
chiu (reference)
Kiu d liu gi trj
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
2
Kiu d liu tham chiu
Object: dy l kiu du liu co s chua tat
ca cc kiu du liu khc trong C#
String: kiu du liu chui k tu
Class: kiu du liu class
Delegate: kiu du liu chuyn giao
Interface: kiu du liu giao tip
Array: kiu du liu mang
Cp pht b nh
Cc bin cua kiu du
liu gi tri
Cc bin cua kiu du
liu tham chiu
uoc luu trn stack,
vng nh ny duoc
thamchiu bi tn cua
bin
Stack l mt cau trc du
liu luu tru thng tin
dang xp chng tuc l
vo sau ra truc (Last I n
First Out : LIFO)
uoc cap pht trn
heap
Khi mt di tuong
duoc cap pht trn
heap th dia chi cua n
duoc tra v, v dia chi
ny duoc gn dn mt
tham chiu
Chuyn di cc kiu d liu Parse
Phuong thuc Parse l phuong thuc duoc su
dung kh ph bin khi chng ta mun chuyn
di mt chui sang mt kiu du liu tuong ung
Ni kiu du liu co ban trong C# du c phuong
thuc Parse d chuyn di sang kiu du liu d
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
3
V d
int a = I nt32.Parse("123"); //a se mang gi tri 123
float b = Float.Parse("20.7"); //b se mang gi tri 20.7
bool c = Boolean.Parse("true"); //c se mang gi tri true
byte b = Byte.Parse(10000000000); //qu gii han,
bool c = Boolean.Parse(null); //tham s l null,
ArgumentNullException
TryParse
Ging nhu Parse, TryParse cung l phuong thuc
duoc tch hop san trong cc lp kiu du liu co
ban cua C#
C php cua TryParse c phan khc vi Parse
<kiu du liu>.TryParse(tham s 1, out tham s 2);
int a;
Int32.TryParse(123, out a); //a se mang gi tri 123
bool b;
Boolean.TryParse(false, out b); //b se mang gi tri false
int a;
Int32.TryParse("hello", out a); //tra v gi tri false, a mang gi tri 0
bool b;
Boolean.TryParse("", out b); //tra v gi tri false, b mang gi tri False
Convert
Lp Convert l mt lp tin ch trong C# cung
cap cho chng ta rat nhiu phuong thuc tinh
khc nhau d chuyn di tu mt kiu du liu
ny sang kiu du liu khc
Tham s m cc phuong thuc trong Convert
nhan khng nhat thit phai l chui m c th
nhiu kiu du liu khc nhau (int, bool,
double)
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
4
bool a = Convert.ToBoolean("khoaimon");
int b = Convert.ToInt32("123456787654");
Casting (p kiu)
p kiu l cch chng ta c th su dung khi
mun chuyn di giua cc kiu du liu c tnh
chat tuong tu nhau (thuong l s)
C 2 loai:
o Tuong minh
o Khng tuong minh
Casting (p kiu)
short x = 10;
int y = x; // chuyn di ngam dinh
short x;
int y = 100;
x = y; // Khng bin dich, li !!!
short 2 byte
int 4 byte
short x;
int y = 500;
x = (short) y; // p kiu tuong minh, khng bo li
2. Bin
Nt bin l mt vng luu tru vi mt kiu du liu
Bin c th duoc gn gi tri v cung c th thay di
gi tri khi thuc hin cc lnh trong chuong trnh
Khai bo:
<kiuduliu> <tnbin1>, <tnbin2>, ;
Gn gi tri:
<tnbin> = <gitri / tnbinkhc>;
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
5
Luu
Cc bin phai duoc khi tao truc khi su dung
Tn bin phn bit chu hoa, chu thuong
Tn bin chi c th bat dau vi k tu hoac dau _
Tn bin khng duoc:
o Khng th bat dau vi chu s
o Chua k tu dac bit nhu $,#,%,^
o Trng vi tu kha (nhung nu mun dat trng tn vi
tu kha th dng @ dang truc)
o Ti nghia
Phm vi ca bin
Ton cuc
Cuc b
3. Hng
Hang cung l mt bin nhung gi tri cua hang
khng thay di
Hang duoc phn thnh ba loai:
o Gi tri hang (literal)
o Biu tuong hang (symbolic constants)
o Kiu liu k (enumerations)
Cu lnh:
<const><kiu du liu><tn hang>= <gi tri>;
Const int a = 20;
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
6
Enum <tn lit k> : <kiu du liu>
{
Danh sch cc thnh phan lit k,
};
enum diem : int
{
diemmax = 10,
diemtb = 5,
diemliet = 0,
};
Ni kiu lit k du c mt kiu du liu co s (int,
short, long)
o Kiu lit k l mt kiu hnh thuc do d bat buc phai thuc
hin php chuyn di tuong minh vi cc kiu gi tri
nguyn
o Ni thnh phan trong kiu lit k tuong ung vi mt gi tri
s nguyn
Ta phai khi tao
Nu khng khi tao th chng se nhan cc gi tri tip
theo vi thnh phan dau tin l 0
Kiu du liu lit k khng chap nhan kiu k tu v
nu chng ta b qua phan ny th trnh bin dich se
gn gi tri mac dinh l kiu nguyn (int)
Kiu chui k t
Kiu du liu chui kh thn thin vi nguoi lap
trnh trong bat cu ngn ngu lap trnh no, kiu
du liu chui luu giu mt mng nhung k t
Khai bo mt chui : string chuoi;
Hang chui : Xin chao
string chuoi = Xin chao
jnh danh
inh danh l tn do nguoi lap trnh chi dinh cho:
o Cc kiu du liu
o Cc phuong thuc
o Bin
o Hang
o Hay di tuong....
Cch dat tn dinh danh :
o Bat dau vi mt k tu chu ci hay dau gach dui
o Cc k tu cn lai phai l k tu chu ci, chu s, dau
gach dui
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
7
camel notation
Microsoft d nghi su dung c php lac d (camel
notation) :
o Tn bin : bat dau bi k tu chu thuong
o Tn hm v hau ht tn cc dinh danh : bat dau bi
k tu chu hoa
4. Biu thc
var1 = 24;
var2 = var1 = 24;
a = b = c = d = 24;
5. Khong trng (whitespace)
C# se b qua tat ca cc khoang trang trong cu
lnh:
var1 = 24; hay var1 = 24 ;
Tuy nhin luu l khoang trang trong mt chui
se khng duoc b qua :
System.WriteLine(Xin chao!);
System.WriteLine( Xin chao !);
6. Cu trc cu lnh (statement)
Tuan tu
Phn nhnh
o Khng diu kin : goto , break , continue , return ,
statementthrow
o C diu kin : if ; switch
Lap :
o for
o while
o do while
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
8
Statements break and continue
goto
Break
Continue
return
statementthrow
Goto
Lnh nhay goto l mt lnh nhay don gian, cho
php chuong trnh nhay v diu kin ti mt vi tr
trong chuong trnh thng qua tn nhn
Goto gip chuong trnh cua ban duoc linh hoat hon
nhung trong nhiu truong hop n se lm mat di cau
trc thuat ton v gy ri chuong trnh
Cch su dung lnh goto:
Tao mt nhn
goto dn nhn
using System;
public class UsingGoto
{
public static int Main()
{
int i = 0;
lap: // nhn
Console.WriteLine(i:{0},i);
i++;
if ( i < 10 )
goto lap; // nhy v nhn lap
return 0;
}
}
i:0
i:1
i:2
i:3
i:4
i:5
i:6
i:7
i:8
i:9
Continue
Cu lnh continue duoc dng trong vng lap
Dng khi ban mun khi dng lai mt vng lap
nhung lai khng mun thi hnh phan lnh cn
lai trong vng lap, mt dim no d trong
thn vng lap
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
9
if/else selection structure
do somet hi ng condi t i ons
true
false
Condi t i ons
do somet hi ng dosomething else
false true
if (biu thuc diu kin)
{
<lnh 1>
<lnh 2>
....
}
[else
{
<lnh 1>
<lnh 2>
...
}]
int s;
s = 3;
s += 1;
if (s > 5)
{
System.Console.WriteLine(s);
}
else
{
System.Console.WriteLine(s * 10);
}
System.Console.ReadLine();
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
10
switch Multiple-Selection Structure
switch (biu thuc diu kin)
{
case <gi tri>:
<Cc cu lnh thuc hin>
<lnh nhay>
[default:
<Cc cu lnh thuc hin mac dinh>]
}
int diem;
diem = 7;
switch (diem)
{
case 3:
{
System.Console.WriteLine("Yeu");
break;
}
case 5:
{
System.Console.WriteLine("Trung binh");
break;
}
default:
{
System.Console.WriteLine("Khong biet");
break;
}
}
for Repetition Structure
counter++
Establish init ial value
of control variable.
Determine if final
value of control
variable has been
reached.
counter <= 10
Console.WriteLine
( counter * 10 );
true
false
int counter = 1
Body of loop (this may be
multiple statements)
Increment the
control variable.
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
11
for ([ phan khi tao] ; [biu thuc diu kin]; [buc lap])
{
<Cu lnh thuc hin>;
<Cu lnh thuc hin>;
<Cu lnh thuc hin>;
}
foreach (<kiutphop><tntruycpthnhphn >in <tntphop>)
<Cc cu lnh thuc hin>;
for (int i = 2; i < 10; i++)
{
for (int j = 1; j < 11; j++)
{
System.Console.WriteLine(i+"x"+j+"="+i*j+" ");
}
}
System.Console.ReadLine();
while Repetition Structure
while (Biu thuc)
{
<Cu lnh thuc hin>;
<Cu lnh thuc hin>;
<Cu lnh thuc hin>;
}
true
false
do something conditions
string pass ="ABCD";
string chuoi;
int solan;
solan =0;
while (solan < 3)
{
System.Console.Write("Nhap pass : ");
chuoi =System.Console.ReadLine();
if (chuoi ==pass)
{
System.Console.WriteLine("Dung roi");
System.Console.ReadLine();
solan = 4;
}
else
{
System.Console.WriteLine("Sai roi");
System.Console.ReadLine();
System.Console.Clear();
solan += 1;
}
}
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
12
do/while Repetition Structure
do
{
<Cu lnh thuc hin>;
<Cu lnh thuc hin>;
<Cu lnh thuc hin>;
}
while ( diu kin )
true
false
action(s)
condition
using System;
public class UsingDoWhile
{
public static int Main( )
{
int i = 11;
do
{
Console.WriteLine(i: {0},i);
i++;
}
while ( i < 10 )
return 0;
}
}
7. Ton t
Ton tu l cng cu dng d thao tc du liu
Nt ton tu l mt k hiu dng d dai din cho
mt thao tc cu th no d duoc thuc hin trn
du liu
Cc loai ton tu:
o Ton tu gn (=)
o Ton tu s hoc
o Ton tu tang v giam(++ ; --)
o Ton tu quan h
o Ton tu logic
o Ton tu 3 ngi
Ton t gn
Ton tu gn hay php gn lm cho ton hang bn
tri thay di gi tri bang vi gi tri cua ton hang
bn phai
Ton tu gn l ton tu hai ngi
y l ton tu don gian nhat thng dung nhat v
cung d su dung nhat
V du :
a = b;
z = 25;
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
13
Ton t s hc
Php cng (+)
Php tru (-)
Php nhn (*)
Php chia (/) nguyn
Php chia lay phan du (%)
Tng/ gim (++ / --)
var2 = 10;
var1 = var2++; // Hau t
var1 var2
var2 = 10;
var1 = ++var2; // Tin t
var1 var2
10 11
11 11
luong = 1000000;
luong = luong + 200000;
luong = luong * 2;
luong = luong 100000;
luong +=200000;
luong *=2;
luong -= 100000;
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
14
Ton t quan h Ton t logic
uu tin ton t Ton t ba ngi
<Biu thuc diu kin> ? <Biu thuc thu 1>: <Biu thuc thu 2>;
5>6 ? Sai : Dung;
dai = 56;
rong = 45;
rong <= dai ? Sai roi ban oi : Dung roi ban oi;
Dung
Sai roi ban oi
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
12/05/2011
15
8. jnh dng
Kt ngha
\ uu nhydon
\ uu nhykp
\\ uu cho
\0 Ktu null
\a Alert
\b Backspace
\f Sangtrang
\n Dngmi
\r uu dng
\t Tab ngang
\v Tab doc
9. Mt s hm ton hc
Sinh vin tu tm hiu
10. Cu hi
Su khc nhau giua thnh phan (Component-Based) v hung di
tuong (Object- Oriented)?
Tai sao trong kiu s khng nn khai bo kiu du liu ln thay v
dng kiu du liu nh hon?
Chuyn g xay ra nu ta gn gi tri m vo bin kiu khng dau?
Nhung ngn ngu no h tro Common Type System (CTS) trong
Common Language Runtime (CLR)?
C th su dung chui vi cu lnh switch?
Nhung tu theo sau tu no l tu kha trong C#: field, cast, as,
object, throw, football, do, get, set, basketball.
Kiu du liu no nh nhat c th luu tru duoc gi tri 45?
Kt qua cua 15%4 l bao nhiu?
S lan ti thiu cc lnh trong while (do while) duoc thuc hin?
Cho bit cc lnh phn nhnh trong C#?
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m
C
lic
k
to
b
u
y
N
O
W
!
P
D
F-XChang
e
w
w
w
.t
r
a
c
k er -s of t w
a
r
e
.
c
o
m

You might also like