1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình C# 1 - Chương 1: Giới thiệu C#

12 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 250,03 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Lập trình C# 1 - Chương 1: Giới thiệu C# nêu lên tình hình trước khi MS.NET ra đời, Microsoft .NET, biên dịch và MSIL, ngôn ngữ C#. Đặc biệt, với những bài tập được đưa ra ở cuối bài sẽ giúp cho các bạn nắm bắt kiến thức một cách tốt hơn.

Trang 1

Ch ng 1

Gi i thi u C#

i dung

1 Tình hình tr c khi MS.NET ra i

2 Microsoft NET

3 Biên d ch và MSIL

4 Ngôn ng C#

5 Câu h i

2

• Java c Sun vi t ra, ã có s c m nh áng , nó h ng t i vi c ch y trên nhi u h u hành khác nhau, c l p v i b x lý

c bi t là Java r t thích h p cho vi c vi t các

ng d ng trên Internet

• Tuy nhiên, Java l i có h n ch v m t t và trên th c t v n ch a th nh hành

• Trong gi i phát tri n ng d ng trên Windows ta có th

vi t ng d ng b ng Visual C++, Delphi hay Visual Basic

• Do Visual Basic không thích h p cho vi t các ng Web

Server) v i Windows NT 4, ASP không áng tin c y l m

Trang 2

2 Microsoft NET

2 Microsoft NET

u n m 1998, sau khi hoàn t t phiên b n Version 4

trình Microsoft nh n th y h còn r t nhi u sáng ki n

ki n toàn IIS.

Windows Services (NGWS)

a công ty, ã t p trung 80% s c m nh c a Microsoft nghiên c u và tri n khai NET

6

Microsoft NET

• NET là m t môi tr ng qu n lý, phát tri n và th c thi các m ngôn ng NET

• NET cung c p các kh n ng :

– V c p phát và thu h i b nh – Qu n lý c p quy n, – Cung c p và qu n lý các ngu n tài nguyên

• G m 2 ph n chính:

– Commom Language Runtime (CLR) – Framework class lybary

Commom Language Runtime (CLR)

• CLR th c hi n qu n lý :

– B nh – Qu n lý th c thi ti u trình, th c thi mã ngu n – Xác nh n mã ngu n an toàn

– Biên b ch và các d ch v h th ng khác

• CLR thúc y :

– Vi c mã ngu n th c hi n vi c truy c p c b o m t – Mã ngu n c th c thi m nh m h n b ng vi c

th c thi mã ngu n chính xác và s xác nh n mã ngu n

Trang 3

.NET framework class lybary

• Framework là m t t p h p h ng i t ng c a các ki u d li u c dùng l i

• Nó cho phép phát tri n nh ng ng d ng t :

ng d ng truy n th ng command-line (Console)

ng d ng có giao di n a (GUI) – Nh ng ng d ng m i nh t c cung c p b i ASP.NET (Web Form và d ch v XML Web) – D ch v windows

t s tính n ng c a Microsoft NET

• M t mô hình l p trình cho phép : – Phát tri n xây d ng các ng d ng d ch v web

ng d ng client v i Extensible Markup Language (XML).

• Cung c p các server ph c v bao g m: Windows 2000, SQL Server, và BizTalk Server, t t c u tích h p, ho t ng, và qu n

lý các d ch v XML Web và các ngd ng

• Các ph n m m client nh Windows XP và Windows CE giúp ng i phát tri n phân ph i sâu và thuy t ph c ng i dùng kinh nghi m thông qua các dòng thi t b

• Nhi u công c h tr nh Visual Studio NET, phát tri n các d ch Web XML, ng d ng trên n n Windows hay n n web m t cách dàng và hi u qu

10

Phát tri n ng d ng Client

• Ki u truy n th ng

• ActiveX control

Ki u truy n th ng

ây là nh ng ki u ng d ng hi n th nh ng c a s hay

nh ng form trên desktop

nào ó nh :

– Nh x lý v n b n, x lý b ng tính, nh ng ng d ng trong l nh

c th ng m i nh công c nh p li u, công c t o báo cáo

– Th ng s d ng nh ng c a s , menu, toolbar, button hay các thành ph n GUI khác

– Chúng th ng truy c p các tài nguyên c c b nh là các t p tin

th ng, các thi t b ngo i vi nh máy in.

Trang 4

ActiveX control

c nhúng vào các trang web trên Internet

• Hi n nay nó c thay th b i các Windows Form control

• Windows Form control có s truy c p gi i h n

n máy c a ng i s d ng

3 Biên d ch và MSIL

biên d ch vào nh ng t p tin trung gian i là Microsoft

• Khi ng d ng c a b n th c thi, mã MSIL là “just in time”

biên d ch sang mã máy b i JITTER (just in time compiler)

• Nh v y khi b n vi t các l p trên Net b ng b t k ngôn

th s d ng Assembly ó cho các ngôn ng khác

14

4 Ngôn ng C#

• Gi i thi u

• C# và các ngôn ng l p trình khác (sinh viên t nghiên c u)

• T i sao là C#

• Các b c chu n b cho ch ng trình

• Ch ng trình C# n gi n

• Phát tri n ch ng trình minh ho

Gi i thi u

Trang 5

Gi i thi u

– Ch kho ng 80 t khóa – H n m i m y ki u d li u c xây d ng s n

• Ngôn ng C# có ý ngh a cao :

– Bao g m t t c nh ng h tr cho c u trúc – Thành ph n component

– L p trình h ng i t ng

c xây d ng trên n n t ng c a hai ngôn ng m nh nh t là C++ và Java

và Scott Wiltamuth

Cách th c làm vi c

• C# làm vi c xoay quanh khái ni m Assembly

– Khi ch ng trình c th c thi, CLR s xác nh n n các Assembly manifest và quy n h n ch y c a ch ng trình trên h

th ng – H b o v h th ng:

• Không cho phép ch ng trình ch y, ch ng trình s không

ch y

• N u c phép, CLR s th c thi m l nh Bit u tiên c a code c n p vào b nh và c biên d ch thành m nh phân t IL b i JIT Sau khi c biên d ch, m c th c thi

và ch a trong b nh

18

i sao là C#?

• C# n gi n

• C# hi n i

• C# h ng i t ng

• C# m nh m và m m d o

• C# ít t khóa

• C# h ng module

• C# s ph bi n

• C# lo i b m t vài s ph c t p và r i r m c a

nh ng ngôn ng nh Java và c++[macro, template, a k th a, và l p c s o (virtual base class)]

• Ngôn ng C# n gi n vì nó d a trên n n t ng

C và C++

Trang 6

• Con tr c tích h p vào ngôn ng C++

Chúng c ng là nguyên nhân gây ra nh ng r c

i c a ngôn ng này

• Ngôn ng hi n i ph i có nh ng c tính :

– X lý ngo i l – Thu gom b nh t ng – Nh ng ki u d li u m r ng – B o m t mã ngu n

óng gói (encapsulation)

• S k th a (inheritance)

a hình (polymorphism)

22

C# m nh m và m m d o

• V i ngôn ng C# chúng ta ch b gi i h n :

– Chính b i b n thân ng i dùng – Trí t ng t ng c a chúng ta

• C# c s d ng cho nhi u các d án khác nhau nh :

– T o ra ng d ng x lý v n b n

ng d ng h a – B ng tính – Trình biên d ch cho các ngôn ng khác

Trang 7

• Mã ngu n C# có th c vi t trong nh ng

ph n c g i là nh ng l p

• Nh ng l p này ch a các ph ng th c thành viên c a nó

• Nh ng l p và nh ng ph ng th c có th c

ng l i trong ng d ng hay các ch ng trình khác

C# s ph bi n

• Microsoft và s cam k t c a NET

• Nhi u s n ph m c a công ty này ã chuy i

và vi t l i b ng C# B ng cách s d ng ngôn

ng này Microsoft ã xác nh n kh n ng c a C#

n thi t cho nh ng ng i l p trình

26

• Xác nh m c tiêu c a ch ng trình

• Xác nh nh ng ph ng pháp gi i quy t v n

• T o m t ch ng trình gi i quy t v n

• Th c thi ch ng trình xem k t qu

• Cách 1:

n b n b t k nh Notepad

• Cách 2: d ng môi tr ng phát tri n tích h p (IDE) Visual Studio NET

Trang 8

Cách 1

• S d ng Notepad so n th o ch ng trình

• L u t p tin xu ng a và t p tin này có ph n m

ng là *.cs

• Biên d ch t p tin ngu n v a t o ra :

csc.exe [/out: <file th c thi>] <file ngu n>

• Ví d :

csc.exe /out: d:\chaomung.exe d:\chaomung.cs

Cách 2

d ng Visual Studio NET :

• So n th o ch ng trình

• Biên d ch

• Th c thi

30

• Ch n m c Visual Studio NET trong menu Start

• L p, i t ng và ki u d li u (type)

• Ph ng th c

• Chú thích

ng d ng Console

• Namespace

• Toán t ‘.’

• T khóa using

• T khóa static

• Phân bi t ch th ng và ch hoa

Trang 9

• L p : t p các i t ng cùng hành vi

i t ng : th hi n riêng c a l p

• Ki u :

– Là m t th c xem nh tr u t ng Nó có th là

t b ng d li u, hay m t nút l nh trong m t c a s – Nh m t d ng v a có thu c tính chung (properties)

và các hành vi ng x (behavior) c a nó

• Các ki u khác nhau : ki u l p; ki u li t kê; c u trúc; ki u y quy n (delegates)

p

{

Các thu c tính Các hành ng }

34

class Program {

static void Main(string[] args) {

System.Console.WriteLine("Chao mung ban den voi C#");

System.Console.ReadLine();

} }

Chú thích

• Chú thích: Gi i thích; nh c nh

• Có 2 cách ghi chú thích:

– // ch có tác d ng trên dòng này – /* có tác d ng cho

nhi u dòng */

Trang 10

ng d ng Console

ng d ng này giao ti p v i ng i dùng thông qua bàn phím

• Không có giao di n ng i dùng (GUI)

37

Các ng d ng nâng cao trên Windows hay Web thì ta m i dùng các các giao di n h a

/46

Namespace

• NET cung c p m t th vi n các l p s và

th vi n này có tên là FCL (Framework Class Library)

• M i l p có m t tên riêng, vì v y FCL có hàng ngàn tên

• T ó d n n:

– Ng i l p trình không th nào nh h t c tên c a các l p trong NET Framework

– T h n n a là sau này có th ta t o l i m t l p trùng

i l p ã có ch ng h n

38

Gi i pháp

• T o ra m t namespace, namsespace s h n

ch ph m vi c a m t tên, làm cho tên này ch có

ý ngh a trong vùng ã nh ngh a

• Ngoài ra còn có subnamespace

• Ví d :

– Có m t ng i nói Tùng là m t k s (k s c u

ng, c khí hay ph n m m) – C# : Tùng là CauDuong.KySu phân bi t v i CoKhi.KySu hay PhanMem.KySu

– Namespace trong tr ng h p này là CauDuong, CoKhi, PhanMem

o namespace

namespace MyLib {

using System;

public class Tester {

public static int Main() {

for (int i =0; i < 10; i++) {

Console.WriteLine( “i: {0}”, i);

} return 0;

} }

Trang 11

li u trong m t p , và ng n cách gi a tên l p n

t namespace

System Console WriteLine() ;

khóa using

làm cho ch ng trình g n h n, và không c n

ph i vi t t ng namespace cho t ng i t ng

• Sau t khóa này là m t namespace hay subnamespace v i mô t y trong c u trúc phân c p c a nó

42

using < Tên namespace >

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1 {

class Program {

static void Main(string[] args) {

System.Console.WriteLine("Chao mung ban den voi C#");

Console.WriteLine("Chuc ban thoai mai voi C#");

Console.ReadLine();

}

using System.Console

• C# là ngôn ng phân bi t ch th ng v i ch hoa

u này có ngh a r ng hai câu l nh writeLine

thì khác v i WriteLinevà c ng khác v i

WRITELINE

Trang 12

Biên d ch – Th c thi

1 biên d ch ch ng trình :

1 Nh n Ctrl-Shift-B

2 Build Build Solution

2 ch y ch ng trình :

1 Ctrl-F5

2 Debug Start Without Debugging

3 Nút l nh trên thanh toolbar

Câu h i

1 M t ch ng trình C# có th ch y trên b t c máy nào?

2 N u mu n a ch ng trình mà ta vi t cho m t ng i b n thì t p tin nào mà chúng ta c n a?

3 Sau khi t o ra c t p tin th c thi exe Có c n thi t gi l i t p tin ngu n không?

4 N u trình biên d ch C# a ra m t trình so n th o, có ph i nh t thi t ph i s d ng nó?

5 Có th không quan tâm n nh ng c nh báo khi biên d ch mã ngu n?

6 CLR vi t t t cho t nào và ý ngh a c a nó?

7 Ngôn ng máy là gì? Khi biên d ch mã ngu n C# ra t p tin exe thì

p tin này là ngôn ng gì?

46

Ngày đăng: 08/05/2021, 11:48

🧩 Sản phẩm bạn có thể quan tâm