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