Tải bản đầy đủ (.pdf) (17 trang)

Ngôn ngữ lập trình: C# và .NET phần 3 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (219.8 KB, 17 trang )

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




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




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




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




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


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


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




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





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




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




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


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




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



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

×