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 3: L
i 3: L
ậ
ậ
p tr
p tr
ì
ì
nh nâng cao
nh nâng cao
trong
trong
C#
C#
Đo
Đo
à
à
n Quang Minh
n Quang Minh
http
http
://www.VTPortal.net
://www.VTPortal.net
Last update:
Last update:
21. Dec 2006
21. Dec 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
Exceptions
Exceptions
User
User
-
-
Defined Casts
Defined Casts
Delegates
Delegates
Events
Events
Generics
Generics
Preprocessor Directive
Preprocessor Directive
Unsafe code
Unsafe code
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
Errors and Exception Handling
Errors and Exception Handling
L
L
ỗ
ỗ
i luôn luôn t
i luôn luôn t
ồ
ồ
n t
n t
ạ
ạ
i, cho d
i, cho d
ù
ù
h
h
ệ
ệ
th
th
ố
ố
ng đư
ng đư
ợ
ợ
c thi
c thi
ế
ế
t k
t k
ế
ế
t
t
ố
ố
t
t
th
th
ế
ế
n
n
à
à
o
o
–
–
L
L
ỗ
ỗ
i không đư
i không đư
ợ
ợ
c quy
c quy
ề
ề
n truy c
n truy c
ậ
ậ
p
p
–
–
L
L
ỗ
ỗ
i do thi
i do thi
ế
ế
t b
t b
ị
ị
h
h
ỏ
ỏ
ng
ng
(
(
đ
đ
í
í
a l
a l
ỗ
ỗ
i)
i)
–
–
L
L
ỗ
ỗ
i do đư
i do đư
ờ
ờ
ng truy
ng truy
ề
ề
n m
n m
ạ
ạ
ng h
ng h
ỏ
ỏ
ng
ng
Khi m
Khi m
ộ
ộ
t l
t l
ỗ
ỗ
i xu
i xu
ấ
ấ
t hi
t hi
ệ
ệ
n, .NET s
n, .NET s
ẽ
ẽ
n
n
é
é
m ra m
m ra m
ộ
ộ
t ngo
t ngo
ạ
ạ
i l
i l
ệ
ệ
–
–
C
C
á
á
c ngo
c ngo
ạ
ạ
i l
i l
ệ
ệ
đ
đ
ề
ề
u k
u k
ế
ế
th
th
ừ
ừ
a t
a t
ừ
ừ
l
l
ớ
ớ
p Exception
p Exception
–
–
T
T
ấ
ấ
t c
t c
ả
ả
c
c
á
á
c ngo
c ngo
ạ
ạ
i l
i l
ệ
ệ
cơ b
cơ b
ả
ả
n đ
n đ
ề
ề
u đư
u đư
ợ
ợ
c cung c
c cung c
ấ
ấ
p b
p b
ở
ở
i .NET
i .NET
–
–
N
N
ế
ế
u g
u g
ặ
ặ
p l
p l
ỗ
ỗ
i, ch
i, ch
ú
ú
ng ta nên n
ng ta nên n
é
é
m ra m
m ra m
ộ
ộ
t ngo
t ngo
ạ
ạ
i l
i l
ệ
ệ
đ
đ
ặ
ặ
c bi
c bi
ệ
ệ
t trong đ
t trong đ
ó
ó
c
c
ó
ó
mô t
mô t
ả
ả
thông tin rõ r
thông tin rõ r
à
à
ng v
ng v
ề
ề
ngo
ngo
ạ
ạ
i l
i l
ệ
ệ
đ
đ
ó
ó
–
–
N
N
ế
ế
u không t
u không t
ì
ì
m đư
m đư
ợ
ợ
c l
c l
ớ
ớ
p ngo
p ngo
ạ
ạ
i l
i l
ệ
ệ
ph
ph
ù
ù
h
h
ợ
ợ
p, c
p, c
ó
ó
th
th
ể
ể
xây d
xây d
ự
ự
ng l
ng l
ớ
ớ
p
p
ngo
ngo
ạ
ạ
i l
i l
ệ
ệ
c
c
ủ
ủ
a riêng m
a riêng m
ì
ì
nh
nh
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
Errors and Exception Handling
Errors and Exception Handling
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
Errors and Exception Handling
Errors and Exception Handling
try
try
{
{
…
…
}
}
catch (Exception e)
catch (Exception e)
{
{
…
…
}
}
finally
finally
{
{
…
…
}
}
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
Errors and Exception Handling
Errors and Exception Handling
Ph
Ph
ầ
ầ
n
n
try
try
th
th
ự
ự
c
c
thi
thi
c
c
á
á
c
c
l
l
ệ
ệ
nh
nh
b
b
ì
ì
nh
nh
thư
thư
ờ
ờ
ng
ng
Ph
Ph
ầ
ầ
n
n
catch
catch
x
x
ử
ử
lý
lý
c
c
á
á
c
c
ngo
ngo
ạ
ạ
i
i
l
l
ệ
ệ
c
c
ó
ó
th
th
ể
ể
xu
xu
ấ
ấ
t
t
hi
hi
ệ
ệ
n
n
–
–
N
N
ế
ế
u
u
không
không
s
s
ử
ử
d
d
ụ
ụ
ng
ng
ngo
ngo
ạ
ạ
i
i
l
l
ệ
ệ
n
n
é
é
m
m
ra
ra
,
,
c
c
ó
ó
th
th
ể
ể
b
b
ỏ
ỏ
qua
qua
ph
ph
ầ
ầ
n
n
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
đ
đ
ó
ó
.
.
–
–
C
C
ó
ó
th
th
ể
ể
c
c
ó
ó
nhi
nhi
ề
ề
u
u
ph
ph
ầ
ầ
n
n
catch
catch
trong
trong
m
m
ộ
ộ
t
t
kh
kh
ố
ố
i
i
try catch
try catch
,
,
khi
khi
đ
đ
ó
ó
m
m
ỗ
ỗ
i
i
ph
ph
ầ
ầ
n
n
catch
catch
x
x
ử
ử
lý
lý
m
m
ộ
ộ
t
t
ngo
ngo
ạ
ạ
i
i
l
l
ệ
ệ
kh
kh
á
á
c
c
nhau
nhau
.
.
–
–
Ngo
Ngo
ạ
ạ
i
i
l
l
ệ
ệ
c
c
ó
ó
th
th
ể
ể
đư
đư
ợ
ợ
c
c
n
n
é
é
m
m
l
l
ạ
ạ
i
i
b
b
ằ
ằ
ng
ng
t
t
ừ
ừ
kh
kh
ó
ó
a
a
throw
throw
.
.
Ph
Ph
ầ
ầ
n
n
finally
finally
th
th
ự
ự
c
c
thi
thi
c
c
á
á
c
c
l
l
ệ
ệ
nh
nh
k
k
ế
ế
t
t
th
th
ú
ú
c
c
c
c
ủ
ủ
a
a
kh
kh
ố
ố
i
i
l
l
ệ
ệ
nh
nh
.
.
V
V
í
í
d
d
ụ
ụ
trong
trong
vi
vi
ệ
ệ
c
c
x
x
ử
ử
lý
lý
t
t
ậ
ậ
p
p
tin
tin
–
–
Ph
Ph
ầ
ầ
n
n
try
try
th
th
ự
ự
c
c
thi
thi
c
c
á
á
c
c
l
l
ệ
ệ
nh
nh
như
như
m
m
ở
ở
file,
file,
đ
đ
ọ
ọ
c
c
ghi
ghi
b
b
ì
ì
nh
nh
thư
thư
ờ
ờ
ng
ng
–
–
Ph
Ph
ầ
ầ
n
n
catch
catch
x
x
ử
ử
lý
lý
l
l
ỗ
ỗ
i
i
.
.
–
–
Ph
Ph
ầ
ầ
n
n
finally
finally
,
,
n
n
ế
ế
u
u
file
file
đư
đư
ợ
ợ
c
c
m
m
ở
ở
th
th
ì
ì
ph
ph
ả
ả
i
i
đ
đ
ó
ó
ng
ng
l
l
ạ
ạ
i
i
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
User
User
-
-
Defined Casts
Defined Casts
To
To
á
á
n
n
t
t
ử
ử
é
é
p
p
ki
ki
ể
ể
u
u
as
as
Ch
Ch
ú
ú
ng
ng
ta
ta
thư
thư
ờ
ờ
ng
ng
xuyên
xuyên
ph
ph
ả
ả
i
i
é
é
p
p
ki
ki
ể
ể
u
u
trong
trong
C#
C#
–
–
C
C
ó
ó
2
2
lo
lo
ạ
ạ
i
i
é
é
p
p
ki
ki
ể
ể
u
u
trong
trong
C#: implicit (an
C#: implicit (an
to
to
à
à
n
n
tuy
tuy
ệ
ệ
t
t
đ
đ
ố
ố
i
i
),
),
explicit(c
explicit(c
ó
ó
r
r
ủ
ủ
i
i
ro
ro
)
)
–
–
C
C
ó
ó
th
th
ể
ể
é
é
p
p
ki
ki
ể
ể
u
u
t
t
ừ
ừ
l
l
ớ
ớ
p
p
k
k
ế
ế
th
th
ừ
ừ
a
a
v
v
ề
ề
l
l
ớ
ớ
p
p
cơ
cơ
s
s
ở
ở
, song
, song
không
không
th
th
ể
ể
l
l
à
à
m
m
ngư
ngư
ợ
ợ
c
c
l
l
ạ
ạ
i
i
–
–
C
C
ó
ó
th
th
ể
ể
é
é
p
p
ki
ki
ể
ể
u
u
qua
qua
l
l
ạ
ạ
i
i
gi
gi
ữ
ữ
a
a
2
2
l
l
ớ
ớ
p
p
,
,
khi
khi
đ
đ
ó
ó
c
c
ầ
ầ
n
n
khai
khai
b
b
á
á
o
o
h
h
à
à
m
m
é
é
p
p
ki
ki
ể
ể
u
u
public static implicit operator
public static implicit operator
conv
conv
-
-
type
type
-
-
out
out
(
(
conv
conv
-
-
type
type
-
-
in
in
operand
operand
)
)
public static explicit operator
public static explicit operator
conv
conv
-
-
type
type
-
-
out
out
(
(
conv
conv
-
-
type
type
-
-
in
in
operand
operand
)
)
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
Delegates
Delegates
delegate
delegate
–
–
C
C
ó
ó
nh
nh
ữ
ữ
ng
ng
công
công
vi
vi
ệ
ệ
c
c
không
không
x
x
á
á
c
c
đ
đ
ị
ị
nh
nh
l
l
ú
ú
c
c
biên
biên
d
d
ị
ị
ch
ch
,
,
ch
ch
ỉ
ỉ
x
x
á
á
c
c
đ
đ
ị
ị
nh
nh
l
l
ú
ú
c
c
th
th
ự
ự
c
c
thi
thi
.
.
–
–
C
C
á
á
c
c
thu
thu
ậ
ậ
t
t
to
to
á
á
n
n
t
t
ổ
ổ
ng
ng
qu
qu
á
á
t
t
,
,
v
v
í
í
d
d
ụ
ụ
s
s
ắ
ắ
p
p
x
x
ế
ế
p
p
:
:
không
không
th
th
ể
ể
đ
đ
ị
ị
nh
nh
ngh
ngh
ĩ
ĩ
a
a
phương
phương
th
th
ứ
ứ
c
c
so
so
s
s
á
á
nh
nh
2
2
đ
đ
ố
ố
i
i
tư
tư
ợ
ợ
ng
ng
b
b
ấ
ấ
t
t
k
k
ỳ
ỳ
–
–
delegate
delegate
l
l
à
à
ki
ki
ể
ể
u
u
tham
tham
chi
chi
ế
ế
u
u
,
,
gi
gi
ố
ố
ng
ng
như
như
class (
class (
trong
trong
C#),
C#),
v
v
ề
ề
ý
ý
ngh
ngh
ĩ
ĩ
a
a
gi
gi
ố
ố
ng
ng
con
con
tr
tr
ỏ
ỏ
h
h
à
à
m
m
trong
trong
C++
C++
[
[
attributes
attributes
] [
] [
modifiers
modifiers
]
]
delegate
delegate
result
result
-
-
type
type
identifier
identifier
(
(
[
[
formal
formal
-
-
parameters
parameters
]
]
);
);
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
Delegates
Delegates
delegate void
delegate void
MyDelegate(int
MyDelegate(int
i);
i);
class Program
class Program
{
{
public static void Main()
public static void Main()
{
{
TakesADelegate(new
TakesADelegate(new
MyDelegate(DelegateFunction
MyDelegate(DelegateFunction
));
));
}
}
public static void
public static void
TakesADelegate(MyDelegate
TakesADelegate(MyDelegate
SomeFunction
SomeFunction
)
)
{
{
SomeFunction(21);
SomeFunction(21);
}
}
public static void
public static void
DelegateFunction(int
DelegateFunction(int
i)
i)
{
{
System.Console.WriteLine("Called
System.Console.WriteLine("Called
by delegate with number: {0}.", i);
by delegate with number: {0}.", i);
}
}
}
}
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
Events
Events
S
S
ự
ự
ki
ki
ệ
ệ
n
n
–
–
Đư
Đư
ợ
ợ
c
c
s
s
ử
ử
d
d
ụ
ụ
ng
ng
đ
đ
ể
ể
b
b
á
á
o
o
hi
hi
ệ
ệ
u
u
m
m
ộ
ộ
t
t
đi
đi
ề
ề
u
u
g
g
ì
ì
đ
đ
ó
ó
x
x
ả
ả
y
y
ra
ra
.
.
–
–
Trong
Trong
Windows,
Windows,
c
c
ó
ó
r
r
ấ
ấ
t
t
nhi
nhi
ề
ề
u
u
s
s
ự
ự
ki
ki
ệ
ệ
n
n
.
.
–
–
Trong
Trong
C#, event
C#, event
l
l
à
à
m
m
ộ
ộ
t
t
d
d
ạ
ạ
ng
ng
đ
đ
ặ
ặ
c
c
bi
bi
ệ
ệ
t
t
c
c
ủ
ủ
a
a
delegate
delegate
[
[
attributes
attributes
] [
] [
modifiers
modifiers
]
]
event
event
type
type
declarator
declarator
;
;
[
[
attributes
attributes
] [
] [
modifiers
modifiers
]
]
event
event
type
type
member
member
-
-
name
name
{
{
accessor
accessor
-
-
declarations
declarations
};
};
Ph
Ph
á
á
t
t
sinh
sinh
s
s
ự
ự
ki
ki
ệ
ệ
n
n
–
–
Đ
Đ
ị
ị
nh
nh
ngh
ngh
ĩ
ĩ
a
a
tham
tham
s
s
ố
ố
s
s
ự
ự
ki
ki
ệ
ệ
n
n
,
,
đ
đ
ặ
ặ
t
t
tên
tên
l
l
à
à
EventName
EventName
EventArgs
EventArgs
,
,
k
k
ế
ế
th
th
ừ
ừ
a
a
t
t
ừ
ừ
System.EventArgs
System.EventArgs
.
.
–
–
Đ
Đ
ị
ị
nh
nh
ngh
ngh
ĩ
ĩ
a
a
m
m
ộ
ộ
t
t
delegates
delegates
cho
cho
s
s
ự
ự
ki
ki
ệ
ệ
n
n
,
,
đ
đ
ặ
ặ
t
t
tên
tên
l
l
à
à
EventName
EventName
EventHandler
EventHandler
.
.
–
–
Ph
Ph
á
á
t
t
sinh
sinh
s
s
ự
ự
ki
ki
ệ
ệ
n
n
Khai
Khai
b
b
á
á
o
o
s
s
ự
ự
ki
ki
ệ
ệ
n
n
Khai
Khai
b
b
á
á
o
o
m
m
ộ
ộ
t
t
phương
phương
th
th
ứ
ứ
c
c
On
On
EventName
EventName
đ
đ
ể
ể
ph
ph
á
á
t
t
sinh
sinh
s
s
ự
ự
ki
ki
ệ
ệ
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
11
11
Events
Events
X
X
ử
ử
lý
lý
s
s
ự
ự
ki
ki
ệ
ệ
n
n
–
–
N
N
ế
ế
u
u
m
m
ộ
ộ
t
t
component
component
ph
ph
á
á
t
t
sinh
sinh
m
m
ộ
ộ
t
t
s
s
ự
ự
ki
ki
ệ
ệ
n
n
,
,
c
c
ó
ó
th
th
ể
ể
b
b
ắ
ắ
t
t
v
v
à
à
x
x
ử
ử
lý
lý
s
s
ự
ự
ki
ki
ệ
ệ
n
n
đ
đ
ó
ó
.
.
–
–
Đ
Đ
ể
ể
hander
hander
s
s
ự
ự
ki
ki
ệ
ệ
n
n
trong
trong
Windows Form
Windows Form
ho
ho
ặ
ặ
c
c
trong
trong
Web Form:
Web Form:
Khai
Khai
b
b
á
á
o
o
component (
component (
v
v
í
í
d
d
ụ
ụ
button)
button)
Khai
Khai
b
b
á
á
o
o
h
h
à
à
m
m
x
x
ử
ử
lý
lý
s
s
ự
ự
ki
ki
ệ
ệ
n
n
G
G
ắ
ắ
n
n
h
h
à
à
m
m
v
v
à
à
o
o
s
s
ự
ự
ki
ki
ệ
ệ
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
12
12
Generics
Generics
Generics
Generics
–
–
Cho
Cho
ph
ph
é
é
p
p
class,
class,
struct
struct
, interface, method
, interface, method
s
s
ử
ử
d
d
ụ
ụ
ng
ng
ki
ki
ể
ể
u
u
d
d
ữ
ữ
li
li
ệ
ệ
u
u
m
m
à
à
n
n
ó
ó
lưu
lưu
tr
tr
ữ
ữ
như
như
l
l
à
à
tham
tham
s
s
ố
ố
đ
đ
ầ
ầ
u
u
v
v
à
à
o
o
.
.
–
–
Kh
Kh
á
á
i
i
ni
ni
ệ
ệ
m
m
gi
gi
ố
ố
ng
ng
như
như
template
template
c
c
ủ
ủ
a
a
C++.
C++.
–
–
Generics
Generics
xu
xu
ấ
ấ
t
t
hi
hi
ệ
ệ
n
n
nh
nh
ằ
ằ
m
m
m
m
ụ
ụ
c
c
đ
đ
í
í
ch
ch
x
x
ử
ử
l
l
í
í
ch
ch
í
í
nh
nh
x
x
á
á
c
c
ki
ki
ể
ể
u
u
c
c
ủ
ủ
a
a
d
d
ữ
ữ
li
li
ệ
ệ
u
u
.
.
V
V
í
í
d
d
ụ
ụ
,
,
v
v
ớ
ớ
i
i
stack,
stack,
n
n
ế
ế
u
u
không
không
c
c
ó
ó
generics
generics
th
th
ì
ì
d
d
ữ
ữ
li
li
ệ
ệ
u
u
coi
coi
như
như
c
c
á
á
c
c
object,
object,
nên
nên
đòi
đòi
h
h
ỏ
ỏ
i
i
ph
ph
ả
ả
i
i
é
é
p
p
ki
ki
ể
ể
u
u
khi
khi
x
x
ử
ử
l
l
í
í
,
,
đi
đi
ề
ề
u
u
n
n
à
à
y
y
c
c
ó
ó
th
th
ể
ể
gây
gây
l
l
ỗ
ỗ
i
i
run
run
-
-
time.
time.
T
T
ạ
ạ
o
o
v
v
à
à
s
s
ử
ử
d
d
ụ
ụ
ng
ng
Generics
Generics
–
–
Khai
Khai
b
b
á
á
o
o
gi
gi
ố
ố
ng
ng
như
như
template
template
trong
trong
C++:
C++:
d
d
ù
ù
ng
ng
c
c
ặ
ặ
p
p
d
d
ấ
ấ
u
u
< >
< >
–
–
S
S
ử
ử
d
d
ụ
ụ
ng
ng
:
:
ph
ph
ả
ả
i
i
ch
ch
ỉ
ỉ
đ
đ
ị
ị
nh
nh
ch
ch
í
í
nh
nh
x
x
á
á
c
c
ki
ki
ể
ể
u
u
d
d
ữ
ữ
li
li
ệ
ệ
u
u
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
Generics
Generics
V
V
í
í
d
d
ụ
ụ
s
s
ử
ử
d
d
ụ
ụ
ng
ng
Generics
Generics
–
–
Khai
Khai
b
b
á
á
o
o
:
:
public class Stack<ItemType>
{
private ItemType[] items = new ItemType[100];
public void Push(ItemType data) {…}
public ItemType Pop() {…}
}
–Sử dụng
Stack<int> s = new Stack<int>();
s.Push(3);
int x = s.Pop();
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
Preprocessor Directives
Preprocessor Directives
#define and #
#define and #
undef
undef
#if, #
#if, #
elif
elif
, #else, and #
, #else, and #
endif
endif
#warning and #error
#warning and #error
#region and #
#region and #
endregion
endregion
#line
#line
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
Memory Management
Memory Management
C#
C#
t
t
ự
ự
đ
đ
ộ
ộ
ng
ng
qu
qu
ả
ả
n
n
lý
lý
b
b
ộ
ộ
nh
nh
ớ
ớ
nh
nh
ờ
ờ
v
v
à
à
o
o
b
b
ộ
ộ
thu
thu
gom
gom
r
r
á
á
c
c
–
–
B
B
ộ
ộ
nh
nh
ớ
ớ
ả
ả
o
o
trong
trong
Windows
Windows
–
–
Stack
Stack
v
v
à
à
heap
heap
C
C
ó
ó
2
2
lo
lo
ạ
ạ
i
i
ki
ki
ể
ể
u
u
d
d
ữ
ữ
li
li
ệ
ệ
u
u
trong
trong
C#
C#
–
–
Value Data Types:
Value Data Types:
D
D
ữ
ữ
li
li
ệ
ệ
u
u
ch
ch
ứ
ứ
a
a
t
t
ạ
ạ
i
i
nơi
nơi
n
n
ó
ó
đư
đư
ợ
ợ
c
c
c
c
ấ
ấ
p
p
ph
ph
á
á
t
t
v
v
ù
ù
ng
ng
nh
nh
ớ
ớ
C
C
á
á
c
c
ki
ki
ể
ể
u
u
s
s
ố
ố
,
,
bool
bool
, char, date,
, char, date,
c
c
á
á
c
c
c
c
ấ
ấ
u
u
tr
tr
ú
ú
c
c
,
,
c
c
á
á
c
c
ki
ki
ể
ể
u
u
li
li
ệ
ệ
t
t
kê
kê
–
–
Reference Data Types:
Reference Data Types:
Ch
Ch
ứ
ứ
a
a
m
m
ộ
ộ
t
t
con
con
tr
tr
ỏ
ỏ
tr
tr
ỏ
ỏ
t
t
ớ
ớ
i
i
nơi
nơi
c
c
ấ
ấ
t
t
gi
gi
ữ
ữ
d
d
ữ
ữ
li
li
ệ
ệ
u
u
Bao
Bao
g
g
ồ
ồ
m
m
ki
ki
ể
ể
u
u
string,
string,
m
m
ả
ả
ng
ng
, class, delegate
, class, delegate
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
Unsafe Code
Unsafe Code
C#
C#
t
t
ự
ự
qu
qu
ả
ả
n
n
lý
lý
b
b
ộ
ộ
nh
nh
ớ
ớ
,
,
tuy
tuy
nhiên
nhiên
c
c
ó
ó
nh
nh
ữ
ữ
ng
ng
l
l
ú
ú
c
c
ch
ch
ú
ú
ng
ng
ta
ta
c
c
ầ
ầ
n
n
s
s
ử
ử
d
d
ụ
ụ
ng
ng
con
con
tr
tr
ỏ
ỏ
.
.
–
–
D
D
ù
ù
ng
ng
t
t
ừ
ừ
kh
kh
ó
ó
a
a
unsafe
unsafe
t
t
ạ
ạ
i
i
v
v
ù
ù
ng
ng
l
l
ệ
ệ
nh
nh
mu
mu
ố
ố
n
n
s
s
ử
ử
d
d
ụ
ụ
ng
ng
con
con
tr
tr
ỏ
ỏ
–
–
Ph
Ph
ả
ả
i
i
c
c
ó
ó
tham
tham
s
s
ố
ố
biên
biên
d
d
ị
ị
ch
ch
unsafe
unsafe
khi
khi
d
d
ị
ị
ch
ch
chương
chương
tr
tr
ì
ì
nh
nh
Con
Con
tr
tr
ỏ
ỏ
:
:
–
–
C
C
á
á
c
c
khai
khai
b
b
á
á
o
o
v
v
à
à
s
s
ử
ử
d
d
ụ
ụ
ng
ng
tương
tương
t
t
ự
ự
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
17
17
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
/> />-
-
day/tab.aspx
day/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