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

TỔNG QUAN .NET NGÔN NGỮ C# - ThS. Nguyễn Hà Giang pdf

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 (735.8 KB, 52 trang )

TỔNG QUAN .NET
NGÔN NGỮ C#
ThS. Nguy

nHàGiang
Nguyen Ha Giang -2009
Nội dung
2
1. Giớithiệu.NETFramework
1. CLR,CTS,CLS,MSIL…
2. Garbagecollection
3. Namespace
2. Tổngquanngônngữ C#
1. Đặc điểmngônngữ
2. QuátrìnhbiêndịchCTC#
3. CácloạiCTC#
4. CấutrúcchươngtrìnhC#
5. ChươngtrìnhC# đơngiản
Nguyen Ha Giang -2009
.NET Framework
3
¤ Chươngtrìnhnềntảngcho
chocôngnghệ .NET
¤ Cung cấp tập hợp class
librarythườngdùng
¤ Quảnlýsựthựcthicủacác
chươngtrình.NET
Common Language Runtime
Base Framework Classes
Data and XML Classes
Custom Classes


C# VB.NET J# C++ …
XML Web
Service
Web
Forms
Windows
Forms
ASP.NET
Nguyen Ha Giang -2009
.NET Framework -Architechture
¤ Common Language
Infrastructure (CLI)
 provide a language-
neutral platform for
application development
and execution
4
Nguyen Ha Giang -2009
.NET Framework
5
.NET 1.1 (Apr-2003)
VS .NET 2003
Default: Server 2003
.NET 3.5 (Nov-2007)
VS.NET 2008
Default: Windows 7,
Server 2008 R2
.NET 3.0 (Nov-2006)
Default: Windows
Vista, Server 2008

.NET 2.0 (Nov-2005)
VS.NET 2005
.NET 1.0
(Feb-2002)
.NET 4.0 (April-2010)
VS.NET 2010
Default: Windows 7,
Server 2008 R2
.NET 4.5 (August-2012)
VS.NET 2012
Default: Windows 8,
Server 2012
Nguyen Ha Giang -2009
Đặc điểm của ứng dụng .NET
6
¤ Chạytrênnền(.NETframework)
¤ Mãnguồn đượcbiêndịchquaMSIL
¤ MSIL đượcthôngdịchquamãmáylúcthựcthinhờ
vàoCLR
¤ Độclậpnềntảng
 Về lýthuyếtcóthể chạytrênmọinền!
¤ Install .NET Framework redistribute packadge
(dotnetfx.exe) để chạy ứng dụng .NET trên máy
client.
Nguyen Ha Giang -2009
Đặc điểm của ứng dụng .NET
7
MS IL
CLR
C++

Compiler
C#
Compiler
J# .NET
Compiler
CT
C#.NET
CT
VB.NET
CT
C++.NET
CT
J#.NET
VB .NET
Compiler
Programmer
Nguyen Ha Giang -2009
Đặc điểm của ứng dụng .NET
8
Nguyen Ha Giang -2009
.NET Framework -CLR
9
¤ Theoquan điểmcủangườilậptrình,.NETcóthể
hiểunhư môitrườngthựcthimớivàthư việnlớpcơ
sởcảitiến.
¤ Môitrườngthựcthilà:CommonLanguageRuntime
-CLR
¤ VaitròchínhCLR:locate,load,manage.NETtypes
¤ CLRcònquảnlýnhữngphần ở mứcthấpnhư:
memorymanagement,securitycheck

Nguyen Ha Giang -2009
.NET Framework -CTS
10
¤ CommonTypeSystem(CTS):
 Mục đíchhỗtrợ thựcthichéongônngữ
 Địnhnghĩakiểudữliệutiền địnhvàcósẵntrongIL:
n Tấtcảngônngữ .NETsẽđượcsinhramãcuốitrêncơsởkiểu
dữ liệunày

Integer


Int32


int

VB.NET IL C#
Nguyen Ha Giang -2009
. NET Framework -CLS
11
CLR/
CTS/IL
C++
C#
Visual Basic
CLS
CLS is the smallest common
denominator of various OO-
languages. FCL only uses

CLS features.
Nguyen Ha Giang -2009
. NET Framework -CLS
12
¤ CommonLanguageSpecification:
 Đảmbảosựthựcthichéo
 Tấtcảcompilerhướng.NET đềuphảituânthủ theoCLS
n Cóthể viếtmãnon-CLSnhưngsẽko đảmbảothựcthichéo
n ILphânbiệtloạikýtự,VB.NETkophânbiệt,CLSbáorằng
kochophép2địnhdanhchỉ khácnhauvềkiểukýtự,do đó
VB.NETcóthể hoạt độngtrongCLS
C#
VB.NET
Nguyen Ha Giang -2009
MS Intermediate Language
13
¤ IL
 Abstractedassemblylanguage
 ÝtưởngvềmãJavabyte
 Mãcấpthấpcúpháp đơngiản ⇒ quátrìnhdịchsangmã
máynhanhhơn
¤ CLRchuyểnILthànhmãmáylúcruntime
 Sự chuyểnnàygọilà Just–In–Time Compilationhay
JITcompiling
Nguyen Ha Giang -2009
Common Language Runtime -compilation
14
C++, C#, VB or
any .NET
language

csc.exe or vbc.exe
Compiler
Assembly
DLL or EXE
Source
Code
Nguyen Ha Giang -2009
Assembly
¤ ManagedModules
 ChứaILcode để thựcthi
¤ Chứaresource,metadata…
¤ PortableExecutable(PE)
 Processassembly(EXE)
 Libraryassembly(DLL)
15
Nguyen Ha Giang -2009
Managed Code
16
¤ Phầnmềmđượcviết để sử dụngtrong.NET
Framework
¤ PMkhácthìgọilàUnmanagedcode
¤ “Managed”:dochạydướisựgiámsátcủacơchế
thựcthi(CLR)
Legacy Software
(unmanaged code)
Common Language Runtime
Managed Executable
Nguyen Ha Giang -2009
Garbage collection
17

class myClass{
void Method(){
variable v1;
variable v2;
do{
….
}
}
B
E
C
A
D
Managed Heap
A và D sẽ bị xoá do ko
còn tham chiếu hay
truy cập tới
Nguyen Ha Giang -2009
Garbage collection
18
¤ GCxuấthiện(ko địnhtrước)khiko đủ bộ nhớđể
cungcấpcho ứngdụng.
¤ GCthựchiệnviệctìmkiếmnhững đốitượngtrong
managedheap,xoánếukocònthamchiếutới.
¤ Cóthể gọiGCmộtcáchtườngminh
Nguyen Ha Giang -2009
Namespace
19
¤ Tránhxung độttên
¤ Chophépnest

¤ Truycậpđầy đủ quatên
¤ Tấtcảdatatypecótiếp đầungữ là
tênnamespace
Namespace CS1
Class A
Class B
Class C
Namespace CS2
Class A
Class B
Class C
CS1.A…
CS2.A…
Nguyen Ha Giang -2009
Namespace
20
¤ Hầuhếtcáclớpcơsởchungcủa.NET đềuthuộc
namespaceSystem
 LớpCSArraythuộcSystem → System.Array
¤ .NET đề nghị tấtcảkiểudouser địnhnghĩaphải
nằmtrong1namespace
Customer
Personel
CompanyName
Tên lớp
Tên
namespace
Nguyen Ha Giang -2009
Namespace
21

¤ Nênphânthành2cấp:
 Côngnghệ
 Góiphầnmềmchứcnăng
Customer
Personel
CompanyName
Tên lớp
Tên
namespace
SaleServices
ManagingServices
Nguyen Ha Giang -2009
Các lớp .NET Framework
22
¤ Thư việnlớpcơsở.NETlàmanagedcode
¤ Khá đadạng&đầy đủ:
 Chophépkếthừa để pháttriểnUD
¤ BaobọctấtcảcáchàmAPI
 Dễ sử dụng(khácvớiVC++trước đây)
Nguyen Ha Giang -2009
Các lớp .NET Framework
23
¤ Cáclớp.NETbaogồmcácvấnđề
 ĐặctínhlõicungcấpIL,kiểudữliệutrongCTS
 Hỗ trợ WinGUIvàcontrol
 WebForm(ASP.NET)
 DataAccess(ADO.NET)
 DirectoryAccess
 FileSystem,registryaccess
 Networkingandwebbrowsing

 .NETattributesandreflection
 WinOSaccess
 COMinteroperability
Nguyen Ha Giang -2009
Framework (Base) Class Library
¤ Thư việnnềntảngcho.NETFramework
¤ CácnamespacecơbảncủaFCL/BCL
24
Namespace Description
System
Chứalớptoánhọc, chuyển đổidữliệu
System.IO
CáclớpchothaotácInput vàOutput
System.Net
Cáclớpliênquan đếnnetwork protocol
System.Collections
Chứccáclớpliênquan đếnxửlýtậphợp
System.Data
CáclớpcủaADO.NET
System.Drawing
CáclớpthựcthichứcnăngGUI
System.Threading
CáclớplậptrìnhMultiThread
System.Web
Cáclớpliênquan đếnHTTP protocol
System.Xml
CáclớpliênquanXML
Nguyen Ha Giang -2009
Run .NET App from Client
¤ RequiredMS.NETFrameworkcompatible

 MS.NETFramework2.0,3.5
¤ Install.NET3.5FullRedistributablepackage
 (dotnetfx35.exe,197MB)
¤ WindowsVistacomeswith.NETFramework3.0
25
.NET Framework X.Y
.NET
App
.NET
App
.NET
App

×