L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
1
1
C# and .NET Framework
C# and .NET Framework
B
B
à
à
i 4:
i 4:
.NET
.NET
v
v
à
à
c
c
á
á
c
c
l
l
ớ
ớ
p
p
cơ
cơ
b
b
ả
ả
n
n
Đo
Đo
à
à
n Quang Minh
n Quang Minh
http
http
://www.VTPortal.net
://www.VTPortal.net
Last update:
Last update:
28. December 2006
28. December 2006
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
2
2
M
M
ụ
ụ
c l
c l
ụ
ụ
c
c
System.Object
System.Object
X
X
ử
ử
lý
lý
String
String
Regular Expression
Regular Expression
Groups of Objects
Groups of Objects
Reflection
Reflection
Threading
Threading
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
3
3
System.Object
System.Object
L
L
à
à
l
l
ớ
ớ
p cơ b
p cơ b
ả
ả
n c
n c
ủ
ủ
a C#
a C#
–
–
N
N
ế
ế
u không n
u không n
ó
ó
i g
i g
ì
ì
, m
, m
ộ
ộ
t l
t l
ớ
ớ
p b
p b
ấ
ấ
t k
t k
ỳ
ỳ
coi như đư
coi như đư
ợ
ợ
c k
c k
ế
ế
th
th
ừ
ừ
a t
a t
ừ
ừ
Object
Object
C
C
á
á
c phương th
c phương th
ứ
ứ
c
c
–
–
public
public
virutal
virutal
string
string
ToString
ToString
()
()
override phương th
override phương th
ứ
ứ
c n
c n
à
à
y đ
y đ
ể
ể
chuy
chuy
ể
ể
n m
n m
ộ
ộ
t đ
t đ
ố
ố
i tư
i tư
ợ
ợ
ng th
ng th
à
à
nh xâu ký
nh xâu ký
t
t
ự
ự
.
.
Thư
Thư
ờ
ờ
ng d
ng d
ù
ù
ng khi k
ng khi k
ế
ế
t xu
t xu
ấ
ấ
t thông tin v
t thông tin v
ề
ề
đ
đ
ố
ố
i tư
i tư
ợ
ợ
ng.
ng.
–
–
public
public
virutal
virutal
int
int
GetHashTable
GetHashTable
()
()
Tr
Tr
ả
ả
v
v
ề
ề
m
m
ộ
ộ
t gi
t gi
á
á
tr
tr
ị
ị
băm c
băm c
ủ
ủ
a đ
a đ
ố
ố
i tư
i tư
ợ
ợ
ng
ng
Thư
Thư
ờ
ờ
ng d
ng d
ù
ù
ng khi t
ng khi t
ạ
ạ
o kho
o kho
á
á
truy xu
truy xu
ấ
ấ
t cho đ
t cho đ
ố
ố
i tư
i tư
ợ
ợ
ng trong m
ng trong m
ộ
ộ
t t
t t
ậ
ậ
p d
p d
ữ
ữ
li
li
ệ
ệ
u như b
u như b
ả
ả
ng băm ho
ng băm ho
ặ
ặ
c t
c t
ừ
ừ
đi
đi
ể
ể
n.
n.
–
–
public
public
virutal
virutal
bool
bool
Equals(object
Equals(object
obj
obj
)
)
–
–
public static
public static
bool
bool
Equals(object
Equals(object
objA
objA
, object
, object
objB
objB
)
)
–
–
public static
public static
bool
bool
ReferenceEquals(object
ReferenceEquals(object
objA
objA
, object
, object
objB
objB
)
)
So s
So s
á
á
nh hai đ
nh hai đ
ố
ố
i tư
i tư
ợ
ợ
ng
ng
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
4
4
System.Object
System.Object
C
C
á
á
c
c
phương
phương
th
th
ứ
ứ
c
c
(
(
ti
ti
ế
ế
p
p
)
)
–
–
protected virtual void Finalize()
protected virtual void Finalize()
Mang
Mang
ý
ý
ngh
ngh
ĩ
ĩ
a
a
l
l
à
à
h
h
à
à
m
m
hu
hu
ỷ
ỷ
,
,
đư
đư
ợ
ợ
c
c
g
g
ọ
ọ
i
i
b
b
ở
ở
i
i
b
b
ộ
ộ
thu
thu
gom
gom
r
r
á
á
c
c
.
.
M
M
ặ
ặ
c
c
đ
đ
ị
ị
nh
nh
không
không
th
th
ự
ự
c
c
thi
thi
g
g
ì
ì
.
.
Ch
Ch
ỉ
ỉ
override
override
khi
khi
c
c
ầ
ầ
n
n
thi
thi
ế
ế
t
t
,
,
v
v
í
í
d
d
ụ
ụ
đ
đ
ó
ó
ng
ng
t
t
ậ
ậ
p
p
tin.
tin.
–
–
public Type
public Type
GetType
GetType
()
()
Tr
Tr
ả
ả
v
v
ề
ề
ki
ki
ể
ể
u
u
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
,
,
bao
bao
g
g
ồ
ồ
m
m
l
l
ớ
ớ
p
p
cha,
cha,
c
c
á
á
c
c
phương
phương
th
th
ứ
ứ
c
c
,
,
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
,
,
…
…
–
–
protected object
protected object
MemberwiseClone
MemberwiseClone
()
()
Copy
Copy
m
m
ộ
ộ
t
t
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
.
.
Ch
Ch
ú
ú
ý
ý
ch
ch
ỉ
ỉ
copy
copy
c
c
á
á
c
c
tham
tham
chi
chi
ế
ế
u
u
bên
bên
trong
trong
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
5
5
X
X
ử
ử
lý
lý
String
String
C
C
ó
ó
2
2
l
l
ớ
ớ
p
p
hay
hay
đư
đư
ợ
ợ
c
c
d
d
ù
ù
ng
ng
đ
đ
ể
ể
x
x
ử
ử
lý
lý
xâu
xâu
–
–
String:
String:
x
x
ử
ử
lý
lý
c
c
á
á
c
c
xâu
xâu
ký
ký
t
t
ự
ự
–
–
StringBuilder
StringBuilder
:
:
xây
xây
d
d
ự
ự
ng
ng
m
m
ộ
ộ
t
t
xâu
xâu
ký
ký
t
t
ự
ự
String:
String:
ch
ch
ứ
ứ
a
a
c
c
á
á
c
c
phương
phương
th
th
ứ
ứ
c
c
cơ
cơ
b
b
ả
ả
n
n
trong
trong
vi
vi
ệ
ệ
c
c
x
x
ử
ử
lý
lý
xâu
xâu
ký
ký
t
t
ự
ự
.
.
–
–
Compare(): so
Compare(): so
s
s
á
á
nh
nh
hai
hai
xâu
xâu
.
.
–
–
CompareOrdinal
CompareOrdinal
(): so
(): so
s
s
á
á
nh
nh
,
,
nhưng
nhưng
không
không
t
t
í
í
nh
nh
đ
đ
ế
ế
n
n
văn
văn
ho
ho
á
á
(culture)
(culture)
–
–
Format():
Format():
đ
đ
ị
ị
nh
nh
d
d
ạ
ạ
ng
ng
xâu
xâu
d
d
ự
ự
a
a
trên
trên
bi
bi
ể
ể
u
u
th
th
ứ
ứ
c
c
đ
đ
ị
ị
nh
nh
d
d
ạ
ạ
ng
ng
v
v
à
à
c
c
á
á
c
c
tham
tham
s
s
ố
ố
đ
đ
ầ
ầ
u
u
v
v
à
à
o
o
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
6
6
X
X
ử
ử
lý
lý
String
String
C
C
á
á
c
c
phương
phương
th
th
ứ
ứ
c
c
c
c
ủ
ủ
a
a
String (
String (
ti
ti
ế
ế
p
p
)
)
–
–
IndexOf
IndexOf
(),
(),
IndexOfAny
IndexOfAny
(),
(),
LastIndexOf
LastIndexOf
(),
(),
LastIndexOfAny
LastIndexOfAny
():
():
t
t
ì
ì
m
m
ki
ki
ế
ế
m
m
chu
chu
ỗ
ỗ
i
i
ký
ký
t
t
ự
ự
,
,
ho
ho
ặ
ặ
c
c
m
m
ộ
ộ
t
t
ph
ph
ầ
ầ
n
n
chu
chu
ỗ
ỗ
i
i
ký
ký
t
t
ự
ự
trong
trong
m
m
ộ
ộ
t
t
xâu
xâu
cho
cho
trư
trư
ớ
ớ
c
c
.
.
–
–
PadLeft
PadLeft
(),
(),
PadRight
PadRight
():
():
đi
đi
ề
ề
n
n
thêm
thêm
v
v
à
à
o
o
đ
đ
ầ
ầ
u
u
ho
ho
ặ
ặ
c
c
cu
cu
ố
ố
i
i
xâu
xâu
b
b
ở
ở
i
i
ký
ký
t
t
ự
ự
cho
cho
trư
trư
ớ
ớ
c
c
.
.
–
–
Replace():
Replace():
thay
thay
th
th
ế
ế
m
m
ộ
ộ
t
t
m
m
ẫ
ẫ
u
u
trong
trong
xâu
xâu
b
b
ở
ở
i
i
m
m
ộ
ộ
t
t
chu
chu
ỗ
ỗ
i
i
ký
ký
t
t
ự
ự
kh
kh
á
á
c
c
.
.
–
–
Split():
Split():
c
c
ắ
ắ
t
t
m
m
ộ
ộ
t
t
xâu
xâu
th
th
à
à
nh
nh
m
m
ộ
ộ
t
t
t
t
ậ
ậ
p
p
h
h
ợ
ợ
p
p
c
c
á
á
c
c
xâu
xâu
con
con
d
d
ự
ự
a
a
theo
theo
m
m
ộ
ộ
t
t
ký
ký
t
t
ự
ự
phân
phân
c
c
á
á
ch
ch
cho
cho
trư
trư
ớ
ớ
c
c
.
.
–
–
Substring():
Substring():
l
l
ấ
ấ
y
y
m
m
ộ
ộ
t
t
ph
ph
ầ
ầ
n
n
xâu
xâu
con
con
t
t
ừ
ừ
m
m
ộ
ộ
t
t
xâu
xâu
cho
cho
trư
trư
ớ
ớ
c
c
.
.
–
–
ToLower
ToLower
(),
(),
ToUpper
ToUpper
():
():
bi
bi
ế
ế
n
n
c
c
á
á
c
c
ký
ký
t
t
ự
ự
trong
trong
xâu
xâu
th
th
à
à
nh
nh
ký
ký
t
t
ự
ự
thư
thư
ờ
ờ
ng
ng
ho
ho
ặ
ặ
c
c
ký
ký
t
t
ự
ự
hoa
hoa
.
.
–
–
Trim(),
Trim(),
TrimEnd
TrimEnd
(),
(),
TrimStart
TrimStart
():
():
xo
xo
á
á
c
c
á
á
c
c
ký
ký
t
t
ự
ự
tr
tr
ắ
ắ
ng
ng
ở
ở
đ
đ
ầ
ầ
u
u
,
,
cu
cu
ố
ố
i
i
xâu
xâu
.
.
–
–
Insert(), Remove():
Insert(), Remove():
ch
ch
è
è
n
n
v
v
à
à
o
o
,
,
xo
xo
á
á
đi
đi
m
m
ộ
ộ
t
t
xâu
xâu
con
con
trong
trong
m
m
ộ
ộ
t
t
xâu
xâu
cho
cho
trư
trư
ớ
ớ
c
c
.
.
–
–
StartsWith
StartsWith
(),
(),
EndsWith
EndsWith
():
():
ki
ki
ể
ể
m
m
tra
tra
xem
xem
xâu
xâu
c
c
ó
ó
b
b
ắ
ắ
t
t
đ
đ
ầ
ầ
u
u
,
,
k
k
ế
ế
t
t
th
th
ú
ú
c
c
b
b
ở
ở
i
i
m
m
ộ
ộ
t
t
xâu
xâu
kh
kh
á
á
c
c
.
.
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
7
7
X
X
ử
ử
lý
lý
String
String
Đ
Đ
ể
ể
x
x
ử
ử
lý
lý
xâu
xâu
,
,
ch
ch
ú
ú
ng
ng
ta
ta
hay
hay
d
d
ù
ù
ng
ng
c
c
á
á
c
c
ph
ph
é
é
p
p
to
to
á
á
n
n
như
như
so
so
s
s
á
á
nh
nh
,
,
g
g
á
á
n
n
,
,
c
c
ộ
ộ
ng
ng
thêm
thêm
(+=)
(+=)
–
–
Ưu
Ưu
đi
đi
ể
ể
m
m
:
:
C
C
á
á
c
c
ph
ph
é
é
p
p
to
to
á
á
n
n
đơn
đơn
gi
gi
ả
ả
n
n
,
,
d
d
ễ
ễ
d
d
ù
ù
ng
ng
–
–
Như
Như
ợ
ợ
c
c
đi
đi
ể
ể
m
m
:
:
Hi
Hi
ệ
ệ
u
u
su
su
ấ
ấ
t
t
qu
qu
ả
ả
n
n
lý
lý
b
b
ộ
ộ
nh
nh
ớ
ớ
th
th
ấ
ấ
p
p
Khi
Khi
c
c
ầ
ầ
n
n
xây
xây
d
d
ự
ự
ng
ng
m
m
ộ
ộ
t
t
chu
chu
ỗ
ỗ
i
i
văn
văn
b
b
ả
ả
n
n
ph
ph
ứ
ứ
c
c
t
t
ạ
ạ
p
p
v
v
à
à
c
c
ó
ó
đ
đ
ộ
ộ
d
d
à
à
i
i
tương
tương
đ
đ
ố
ố
i
i
l
l
ớ
ớ
n
n
,
,
ch
ch
ú
ú
ng
ng
ta
ta
d
d
ù
ù
ng
ng
l
l
ớ
ớ
p
p
StringBuilder
StringBuilder
–
–
StringBuilder
StringBuilder
cho
cho
ph
ph
é
é
p
p
n
n
ố
ố
i
i
thêm
thêm
c
c
á
á
c
c
xâu
xâu
m
m
ớ
ớ
i
i
v
v
à
à
o
o
trong
trong
m
m
ộ
ộ
t
t
t
t
ậ
ậ
p
p
h
h
ợ
ợ
p
p
c
c
á
á
c
c
xâu
xâu
c
c
ó
ó
s
s
ẵ
ẵ
n
n
m
m
à
à
không
không
c
c
ầ
ầ
n
n
qu
qu
á
á
nhi
nhi
ề
ề
u
u
c
c
á
á
c
c
thao
thao
t
t
á
á
c
c
x
x
ử
ử
lý
lý
v
v
ù
ù
ng
ng
nh
nh
ớ
ớ
–
–
V
V
í
í
d
d
ụ
ụ
:
:
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
8
8
X
X
ử
ử
lý
lý
String
String
StringBuilder
StringBuilder
–
–
Append():
Append():
n
n
ố
ố
i
i
thêm
thêm
v
v
à
à
o
o
đuôi
đuôi
m
m
ộ
ộ
t
t
xâu
xâu
m
m
ớ
ớ
i
i
–
–
Insert():
Insert():
ch
ch
è
è
n
n
v
v
à
à
o
o
m
m
ộ
ộ
t
t
v
v
ị
ị
tr
tr
í
í
b
b
ấ
ấ
t
t
k
k
ỳ
ỳ
m
m
ộ
ộ
t
t
xâu
xâu
m
m
ớ
ớ
i
i
.
.
–
–
Remove():
Remove():
xo
xo
á
á
b
b
ỏ
ỏ
m
m
ộ
ộ
t
t
xâu
xâu
con
con
t
t
ạ
ạ
i
i
v
v
ị
ị
tr
tr
í
í
hi
hi
ệ
ệ
n
n
th
th
ờ
ờ
i
i
–
–
ToString
ToString
():
():
sau
sau
khi
khi
xây
xây
d
d
ự
ự
ng
ng
t
t
ậ
ậ
p
p
c
c
á
á
c
c
xâu
xâu
xong
xong
,
,
phương
phương
th
th
ứ
ứ
c
c
n
n
à
à
y
y
bi
bi
ế
ế
n
n
đ
đ
ổ
ổ
i
i
t
t
ậ
ậ
p
p
c
c
á
á
c
c
xâu
xâu
th
th
à
à
nh
nh
chu
chu
ỗ
ỗ
i
i
văn
văn
b
b
ả
ả
n
n
duy
duy
nh
nh
ấ
ấ
t
t
.
.
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
9
9
X
X
ử
ử
lý
lý
String
String
String.Format
String.Format
:
:
đ
đ
ị
ị
nh
nh
d
d
ạ
ạ
ng
ng
xâu
xâu
–
–
Gi
Gi
ố
ố
ng
ng
như
như
h
h
à
à
m
m
printf
printf
()
()
c
c
ủ
ủ
a
a
C,
C,
phương
phương
th
th
ứ
ứ
c
c
static Format
static Format
c
c
ủ
ủ
a
a
l
l
ớ
ớ
p
p
String
String
cho
cho
ph
ph
é
é
p
p
đ
đ
ị
ị
nh
nh
d
d
ạ
ạ
ng
ng
m
m
ộ
ộ
t
t
chu
chu
ỗ
ỗ
i
i
c
c
á
á
c
c
tham
tham
s
s
ố
ố
theo
theo
m
m
ẫ
ẫ
u
u
cho
cho
trư
trư
ớ
ớ
c
c
.
.
–
–
C
C
ú
ú
ph
ph
á
á
p
p
:
:
public static
public static
string
string
Format(
Format(
string
string
format
format
,
,
object
object
arg0
arg0
);
);
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
10
10
X
X
ử
ử
lý
lý
String
String
Chu
Chu
ỗ
ỗ
i
i
format
format
ch
ch
ứ
ứ
a
a
m
m
ộ
ộ
t
t
ho
ho
ặ
ặ
c
c
nhi
nhi
ề
ề
u
u
c
c
á
á
c
c
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
c
c
ầ
ầ
n
n
format,
format,
theo
theo
m
m
ẫ
ẫ
u
u
{
{
index[,alignment][:formatString
index[,alignment][:formatString
]}
]}
–
–
index:
index:
ch
ch
ỉ
ỉ
s
s
ố
ố
c
c
ủ
ủ
a
a
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
trong
trong
danh
danh
s
s
á
á
ch
ch
c
c
á
á
c
c
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
c
c
ầ
ầ
n
n
format
format
–
–
alignment:
alignment:
tu
tu
ỳ
ỳ
ch
ch
ọ
ọ
n
n
,
,
l
l
à
à
đ
đ
ộ
ộ
d
d
à
à
i
i
t
t
ố
ố
i
i
thi
thi
ể
ể
u
u
đ
đ
ể
ể
ch
ch
ứ
ứ
a
a
gi
gi
á
á
trij
trij
chu
chu
ỗ
ỗ
i
i
c
c
ủ
ủ
a
a
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
đã
đã
đư
đư
ợ
ợ
c
c
format
format
–
–
formatString
formatString
:
:
mã
mã
format.
format.
–
–
V
V
í
í
d
d
ụ
ụ
,
,
string.Format(
string.Format(
“
“
I
I
have {0,
have {0,
-
-
4:G} computers
4:G} computers
”
”
, x),
, x),
v
v
ớ
ớ
i
i
x = 2
x = 2
th
th
ì
ì
gi
gi
á
á
tr
tr
ị
ị
l
l
à
à
“
“
I have 2___ computers
I have 2___ computers
”
”
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
11
11
Bi
Bi
ể
ể
u
u
th
th
ứ
ứ
c
c
ch
ch
í
í
nh
nh
quy
quy
(Regular Expression)
(Regular Expression)
Regular Expression
Regular Expression
l
l
à
à
l
l
ớ
ớ
p
p
th
th
ự
ự
c
c
hi
hi
ệ
ệ
n
n
c
c
á
á
c
c
thao
thao
t
t
á
á
c
c
liên
liên
quan
quan
đ
đ
ế
ế
n
n
bi
bi
ể
ể
u
u
th
th
ứ
ứ
c
c
ch
ch
í
í
nh
nh
quy
quy
:
:
–
–
G
G
ồ
ồ
m
m
m
m
ộ
ộ
t
t
t
t
ậ
ậ
p
p
c
c
á
á
c
c
ký
ký
t
t
ự
ự
đ
đ
ạ
ạ
i
i
di
di
ệ
ệ
n
n
;
;
–
–
C
C
á
á
c
c
phương
phương
th
th
ứ
ứ
c
c
ph
ph
ụ
ụ
c
c
v
v
ụ
ụ
cho
cho
vi
vi
ệ
ệ
c
c
t
t
ì
ì
m
m
ki
ki
ế
ế
m
m
v
v
à
à
thay
thay
th
th
ế
ế
;
;
–
–
S
S
ử
ử
d
d
ụ
ụ
ng
ng
bi
bi
ể
ể
u
u
th
th
ứ
ứ
c
c
ch
ch
í
í
nh
nh
quy
quy
,
,
c
c
ó
ó
th
th
ể
ể
th
th
ự
ự
c
c
hi
hi
ệ
ệ
n
n
c
c
á
á
c
c
công
công
vi
vi
ệ
ệ
c
c
ph
ph
ứ
ứ
c
c
t
t
ạ
ạ
p
p
v
v
ề
ề
x
x
ử
ử
lý
lý
chu
chu
ỗ
ỗ
i
i
Ki
Ki
ể
ể
m
m
đ
đ
ị
ị
nh
nh
chu
chu
ỗ
ỗ
i
i
đ
đ
ầ
ầ
u
u
v
v
à
à
o
o
theo
theo
m
m
ộ
ộ
t
t
tiêu
tiêu
chu
chu
ẩ
ẩ
n
n
n
n
à
à
o
o
đ
đ
ó
ó
;
;
Đ
Đ
ị
ị
nh
nh
d
d
ạ
ạ
ng
ng
l
l
ạ
ạ
i
i
chu
chu
ỗ
ỗ
i
i
(
(
thay
thay
th
th
ế
ế
c
c
á
á
c
c
ký
ký
t
t
ự
ự
không
không
h
h
ợ
ợ
p
p
l
l
ệ
ệ
);
);
TÌm
TÌm
ki
ki
ế
ế
m
m
v
v
à
à
tr
tr
í
í
ch
ch
t
t
ừ
ừ
chu
chu
ỗ
ỗ
i
i
đ
đ
ầ
ầ
u
u
v
v
à
à
o
o
ra
ra
nh
nh
ữ
ữ
ng
ng
th
th
à
à
nh
nh
ph
ph
ầ
ầ
n
n
đ
đ
ặ
ặ
c
c
bi
bi
ệ
ệ
t
t
.
.
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
12
12
Bi
Bi
ể
ể
u
u
th
th
ứ
ứ
c
c
ch
ch
í
í
nh
nh
quy
quy
(Regular Expression)
(Regular Expression)
Ký
Ký
t
t
ự
ự
Ý
Ý
ngh
ngh
ĩ
ĩ
a
a
^
^
B
B
ắ
ắ
t
t
đ
đ
ầ
ầ
u
u
c
c
ủ
ủ
a
a
chu
chu
ỗ
ỗ
i
i
$
$
K
K
ế
ế
t
t
th
th
ú
ú
c
c
c
c
ủ
ủ
a
a
chu
chu
ỗ
ỗ
i
i
.
.
T
T
ấ
ấ
t
t
c
c
ả
ả
ký
ký
t
t
ự
ự
,
,
ngo
ngo
ạ
ạ
i
i
tr
tr
ừ
ừ
xu
xu
ố
ố
ng
ng
dòng
dòng
\
\
n
n
*
*
L
L
ặ
ặ
p
p
l
l
ạ
ạ
i
i
0
0
l
l
ầ
ầ
n
n
ho
ho
ặ
ặ
c
c
nhi
nhi
ề
ề
u
u
hơn
hơn
+
+
L
L
ặ
ặ
p
p
l
l
ạ
ạ
i
i
í
í
t
t
nh
nh
ấ
ấ
t
t
1
1
l
l
ầ
ầ
n
n
?
?
L
L
ặ
ặ
p
p
l
l
ạ
ạ
i
i
0
0
ho
ho
ặ
ặ
c
c
1
1
l
l
ầ
ầ
n
n
\
\
s
s
Kho
Kho
ả
ả
ng
ng
tr
tr
ắ
ắ
ng
ng
,
,
bao
bao
g
g
ồ
ồ
m
m
c
c
ả
ả
tab
tab
\
\
S
S
T
T
ấ
ấ
t
t
c
c
ả
ả
c
c
á
á
c
c
ký
ký
t
t
ự
ự
m
m
à
à
không
không
l
l
à
à
kho
kho
ả
ả
ng
ng
tr
tr
ắ
ắ
ng
ng
\
\
b
b
K
K
ế
ế
t
t
th
th
ú
ú
c
c
nh
nh
ó
ó
m
m
\
\
B
B
Không
Không
k
k
ế
ế
t
t
th
th
ú
ú
c
c
nh
nh
ó
ó
m
m
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
13
13
Bi
Bi
ể
ể
u
u
th
th
ứ
ứ
c
c
ch
ch
í
í
nh
nh
quy
quy
(Regular Expression)
(Regular Expression)
Bi
Bi
ể
ể
u
u
th
th
ứ
ứ
c
c
ch
ch
í
í
nh
nh
quy
quy
trong
trong
C#
C#
–
–
N
N
ằ
ằ
m
m
trong
trong
namespace
namespace
System.Text.RegularExpression
System.Text.RegularExpression
–
–
Cung
Cung
c
c
ấ
ấ
p
p
c
c
á
á
c
c
l
l
ớ
ớ
p
p
Regex
Regex
, Match,
, Match,
…
…
V
V
í
í
d
d
ụ
ụ
–
–
Ki
Ki
ể
ể
m
m
tra
tra
xem
xem
1
1
chu
chu
ỗ
ỗ
i
i
đ
đ
ầ
ầ
u
u
v
v
à
à
o
o
c
c
ó
ó
l
l
à
à
s
s
ố
ố
nguyên
nguyên
hay
hay
không
không
?
?
Regex
Regex
re = new
re = new
Regex(@"
Regex(@"
\
\
d
d
+");
+");
Match m =
Match m =
re.Match(s
re.Match(s
);
);
if (
if (
m.Success
m.Success
)
)
{
{
// match is found, s is a number
// match is found, s is a number
}
}
else
else
{
{
// match not found, s isn
// match not found, s isn
’
’
t a number
t a number
}
}
B
B
à
à
i
i
t
t
ậ
ậ
p
p
:
:
ki
ki
ể
ể
m
m
tra
tra
m
m
ộ
ộ
t
t
chu
chu
ỗ
ỗ
i
i
c
c
ó
ó
bi
bi
ể
ể
u
u
di
di
ễ
ễ
n
n
m
m
ộ
ộ
t
t
đ
đ
ị
ị
a
a
ch
ch
ỉ
ỉ
mail hay
mail hay
không
không
?
?
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
14
14
Group of Objects
Group of Objects
Group of Objects
Group of Objects
l
l
à
à
c
c
á
á
c
c
l
l
ớ
ớ
p
p
trong
trong
đ
đ
ó
ó
cho
cho
ph
ph
é
é
p
p
qu
qu
ả
ả
n
n
lý
lý
m
m
ộ
ộ
t
t
t
t
ậ
ậ
p
p
h
h
ợ
ợ
p
p
c
c
á
á
c
c
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
c
c
ó
ó
c
c
ù
ù
ng
ng
ki
ki
ể
ể
u
u
.
.
–
–
ArrayList
ArrayList
:
:
tương
tương
t
t
ự
ự
như
như
m
m
ả
ả
ng
ng
,
,
nhưng
nhưng
c
c
ó
ó
nhi
nhi
ề
ề
u
u
t
t
í
í
nh
nh
năng
năng
ưu
ưu
vi
vi
ệ
ệ
t
t
:
:
cho
cho
ph
ph
é
é
p
p
thêm
thêm
,
,
ch
ch
è
è
n
n
,
,
xo
xo
á
á
,
,
s
s
ắ
ắ
p
p
x
x
ế
ế
p
p
,
,
t
t
ì
ì
m
m
ki
ki
ế
ế
m
m
nh
nh
ị
ị
phân
phân
,
,
…
…
–
–
Collection:
Collection:
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
t
t
ậ
ậ
p
p
h
h
ợ
ợ
p
p
,
,
trên
trên
đ
đ
ó
ó
c
c
ó
ó
c
c
à
à
i
i
đ
đ
ặ
ặ
t
t
giao
giao
ti
ti
ế
ế
p
p
IEnumerable
IEnumerable
cho
cho
ph
ph
é
é
p
p
duy
duy
ệ
ệ
t
t
t
t
ừ
ừ
ng
ng
ph
ph
ầ
ầ
n
n
t
t
ử
ử
trong
trong
t
t
ậ
ậ
p
p
h
h
ợ
ợ
p
p
.
.
Stack:
Stack:
Cung
Cung
c
c
ấ
ấ
p
p
cơ
cơ
ch
ch
ế
ế
FILO,
FILO,
c
c
ó
ó
2
2
phương
phương
th
th
ứ
ứ
c
c
đ
đ
ặ
ặ
c
c
bi
bi
ệ
ệ
t
t
l
l
à
à
Push()
Push()
v
v
à
à
Pop()
Pop()
Queue:
Queue:
cơ
cơ
ch
ch
ế
ế
FIFO,
FIFO,
c
c
ó
ó
2
2
phương
phương
th
th
ứ
ứ
c
c
đ
đ
ặ
ặ
c
c
bi
bi
ệ
ệ
t
t
l
l
à
à
Enqueue
Enqueue
()
()
v
v
à
à
Dequeue
Dequeue
()
()
–
–
Dictionary:
Dictionary:
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
t
t
ừ
ừ
đi
đi
ể
ể
n
n
,
,
cung
cung
c
c
ấ
ấ
p
p
cơ
cơ
ch
ch
ế
ế
t
t
ì
ì
m
m
ki
ki
ế
ế
m
m
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
thông
thông
qua
qua
kho
kho
á
á
Hashtable
Hashtable
:
:
b
b
ả
ả
ng
ng
băm
băm
,
,
m
m
ỗ
ỗ
i
i
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
s
s
ẽ
ẽ
đư
đư
ợ
ợ
c
c
đ
đ
ạ
ạ
i
i
di
di
ệ
ệ
n
n
b
b
ở
ở
i
i
m
m
ộ
ộ
t
t
gi
gi
á
á
tr
tr
ị
ị
băm
băm
,
,
g
g
ọ
ọ
i
i
l
l
à
à
kho
kho
á
á
.
.
T
T
á
á
c
c
d
d
ụ
ụ
ng
ng
tăng
tăng
t
t
ố
ố
c
c
trong
trong
c
c
á
á
c
c
thao
thao
t
t
á
á
c
c
t
t
ì
ì
m
m
ki
ki
ế
ế
m
m
.
.
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
15
15
Generics
Generics
Gererics
Gererics
cung
cung
c
c
ấ
ấ
p
p
c
c
á
á
c
c
l
l
ớ
ớ
p
p
cho
cho
ph
ph
é
é
p
p
s
s
ử
ử
l
l
í
í
m
m
ộ
ộ
t
t
t
t
ậ
ậ
p
p
c
c
á
á
c
c
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
v
v
ớ
ớ
i
i
ki
ki
ể
ể
u
u
c
c
ủ
ủ
a
a
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
như
như
l
l
à
à
tham
tham
s
s
ố
ố
đ
đ
ầ
ầ
u
u
v
v
à
à
o
o
.
.
–
–
List<T>:
List<T>:
cho
cho
ph
ph
é
é
p
p
thao
thao
t
t
á
á
c
c
v
v
à
à
x
x
ử
ử
l
l
í
í
m
m
ộ
ộ
t
t
danh
danh
s
s
á
á
ch
ch
c
c
á
á
c
c
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
c
c
ó
ó
ki
ki
ể
ể
u
u
T;
T;
–
–
Stack<T>:
Stack<T>:
cung
cung
c
c
ấ
ấ
p
p
cơ
cơ
ch
ch
ế
ế
FILO
FILO
v
v
ớ
ớ
i
i
ki
ki
ể
ể
u
u
d
d
ữ
ữ
li
li
ệ
ệ
u
u
T;
T;
–
–
Queue<T>:
Queue<T>:
cung
cung
c
c
ấ
ấ
p
p
cơ
cơ
ch
ch
ế
ế
FIFO
FIFO
v
v
ớ
ớ
i
i
ki
ki
ể
ể
u
u
d
d
ữ
ữ
li
li
ệ
ệ
u
u
T;
T;
–
–
LinkedList
LinkedList
<T>:
<T>:
cung
cung
c
c
ấ
ấ
p
p
m
m
ộ
ộ
t
t
danh
danh
s
s
á
á
ch
ch
liên
liên
k
k
ế
ế
t
t
đôi
đôi
x
x
ử
ử
l
l
í
í
c
c
á
á
c
c
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
c
c
ó
ó
ki
ki
ể
ể
u
u
T;
T;
–
–
Dictionary<K,T>:
Dictionary<K,T>:
cung
cung
c
c
ấ
ấ
p
p
m
m
ộ
ộ
t
t
t
t
ừ
ừ
đi
đi
ể
ể
n
n
v
v
ớ
ớ
i
i
ki
ki
ể
ể
u
u
d
d
ữ
ữ
li
li
ệ
ệ
u
u
l
l
à
à
T,
T,
ki
ki
ể
ể
u
u
kh
kh
ó
ó
a
a
l
l
à
à
K.
K.
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
16
16
Reflection
Reflection
Reflection
Reflection
l
l
à
à
thu
thu
ậ
ậ
t
t
ng
ng
ữ
ữ
ch
ch
ỉ
ỉ
c
c
á
á
c
c
l
l
ớ
ớ
p
p
trong
trong
.NET
.NET
cho
cho
ph
ph
é
é
p
p
ch
ch
ú
ú
ng
ng
ta
ta
c
c
ó
ó
th
th
ể
ể
đ
đ
ọ
ọ
c
c
đư
đư
ợ
ợ
c
c
thông
thông
tin
tin
v
v
ề
ề
c
c
á
á
c
c
assembly.
assembly.
Ch
Ch
ú
ú
ng
ng
n
n
ằ
ằ
m
m
trong
trong
namespace
namespace
System.Reflection
System.Reflection
–
–
Type:
Type:
cung
cung
c
c
ấ
ấ
p
p
thông
thông
tin
tin
v
v
ề
ề
ki
ki
ể
ể
u
u
c
c
ủ
ủ
a
a
m
m
ộ
ộ
t
t
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
.
.
Bao
Bao
g
g
ồ
ồ
m
m
c
c
á
á
c
c
thông
thông
tin
tin
như
như
tên
tên
ki
ki
ể
ể
u
u
,
,
tên
tên
đ
đ
ầ
ầ
y
y
đ
đ
ủ
ủ
(
(
g
g
ồ
ồ
m
m
c
c
ả
ả
namespace),
namespace),
tên
tên
l
l
ớ
ớ
p
p
cơ
cơ
s
s
ở
ở
,
,
…
…
Ngo
Ngo
à
à
i
i
ra
ra
,
,
c
c
ó
ó
th
th
ể
ể
l
l
ấ
ấ
y
y
đư
đư
ợ
ợ
c
c
c
c
á
á
c
c
thông
thông
tin
tin
kh
kh
á
á
c
c
như
như
c
c
á
á
c
c
phương
phương
th
th
ứ
ứ
c
c
,
,
c
c
á
á
c
c
trư
trư
ờ
ờ
ng
ng
,
,
c
c
á
á
c
c
s
s
ự
ự
ki
ki
ệ
ệ
n
n
,
,
c
c
á
á
c
c
giao
giao
ti
ti
ế
ế
p
p
,
,
…
…
–
–
Assembly:
Assembly:
ch
ch
ứ
ứ
a
a
thông
thông
tin
tin
v
v
ề
ề
assembly,
assembly,
bao
bao
g
g
ồ
ồ
m
m
c
c
á
á
c
c
thông
thông
tin
tin
như
như
tên
tên
assembly,
assembly,
tên
tên
công
công
ty
ty
,
,
phiên
phiên
b
b
ả
ả
n
n
,
,
…
…
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
17
17
Threading
Threading
C
C
á
á
c
c
h
h
ệ
ệ
th
th
ố
ố
ng
ng
th
th
ự
ự
c
c
đ
đ
ề
ề
u
u
l
l
à
à
h
h
ệ
ệ
đa
đa
ti
ti
ế
ế
n
n
tr
tr
ì
ì
nh
nh
:
:
–
–
C
C
á
á
c
c
ứ
ứ
ng
ng
d
d
ụ
ụ
ng
ng
trong
trong
Windows
Windows
ch
ch
ạ
ạ
y
y
song
song
song
song
.
.
–
–
V
V
ớ
ớ
i
i
m
m
ộ
ộ
t
t
công
công
vi
vi
ệ
ệ
c
c
,
,
thông
thông
thư
thư
ờ
ờ
ng
ng
s
s
ẽ
ẽ
g
g
ồ
ồ
m
m
nhi
nhi
ề
ề
u
u
công
công
vi
vi
ệ
ệ
c
c
nh
nh
ỏ
ỏ
ch
ch
ạ
ạ
y
y
song
song
song
song
.
.
–
–
.NET
.NET
h
h
ỗ
ỗ
tr
tr
ợ
ợ
l
l
ậ
ậ
p
p
tr
tr
ì
ì
nh
nh
song
song
song
song
d
d
ự
ự
a
a
v
v
à
à
o
o
thread.
thread.
Đ
Đ
ể
ể
t
t
ạ
ạ
o
o
nhi
nhi
ề
ề
u
u
ti
ti
ế
ế
n
n
tr
tr
ì
ì
nh
nh
ch
ch
ạ
ạ
y
y
song
song
song
song
,
,
ch
ch
ú
ú
ng
ng
ta
ta
s
s
ẽ
ẽ
t
t
ạ
ạ
o
o
ra
ra
c
c
á
á
c
c
Thread
Thread
–
–
C
C
á
á
c
c
thu
thu
ộ
ộ
c
c
t
t
í
í
nh
nh
:
:
Name:
Name:
tên
tên
c
c
ủ
ủ
a
a
thread
thread
Priority:
Priority:
m
m
ứ
ứ
c
c
đ
đ
ộ
ộ
ưu
ưu
tiên
tiên
c
c
ủ
ủ
a
a
thread
thread
–
–
C
C
á
á
c
c
phương
phương
th
th
ứ
ứ
c
c
:
:
Start():
Start():
kh
kh
ở
ở
i
i
đ
đ
ộ
ộ
ng
ng
thread
thread
Suspend():
Suspend():
t
t
ạ
ạ
m
m
ngưng
ngưng
thread
thread
Resume():
Resume():
k
k
í
í
ch
ch
ho
ho
ạ
ạ
t
t
l
l
ạ
ạ
i
i
thread
thread
đang
đang
t
t
ạ
ạ
m
m
ngưng
ngưng
Abort():
Abort():
hu
hu
ỷ
ỷ
(
(
ng
ng
ắ
ắ
t
t
gi
gi
ữ
ữ
a
a
ch
ch
ừ
ừ
ng
ng
) thread
) thread
L
L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao trong C#
nh nâng cao trong C#
-
-
Editor
Editor
:
:
Đo
Đo
à
à
n Quang Minh
n Quang Minh
18
18
T
T
à
à
i li
i li
ệ
ệ
u tham kh
u tham kh
ả
ả
o
o
Professional C#, Second Edition
Professional C#, Second Edition
/> />
Đ
Đ
ị
ị
a ch
a ch
ỉ
ỉ
download t
download t
à
à
i li
i li
ệ
ệ
u
u
/> />-
-
cuu
cuu
-
-
phat
phat
-
-
trien/thang
trien/thang
-
-
long/tab.aspx
long/tab.aspx
Di
Di
ễ
ễ
n đ
n đ
à
à
n C# & .NET
n C# & .NET
/> />ory/hoc
ory/hoc
-
-
tap
tap
-
-
nghien
nghien
-
-
cuu/dot
cuu/dot
-
-
net/tab.aspx
net/tab.aspx