Lập trình C#

79 875 11
Lập trình C#

Đ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

Lập trình C#

Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 MụC lục Giới thiệu đề tài .6 Phần I: Giới thiệu sơ bộ về nền .NET và ngôn ngữ C# 8 I. Giới thiệu sơ bộ về .NET 8 I.1. Giới thiệu chung về nền .NET (.NET platform) .8 I.2. Kiến trúc phân lớp nền .NET .8 I.3. Những đặc trng của nền .NET 9 I.3.1. Phát triển đa ngôn ngữ 9 I.3.2. Chơng trình ứng dụng độc lập với hệ điều hành và bộ vi xử lí 10 I.3.3. Quản lí bộ nhớ tự động 10 I.3.4. Hỗ trợ phiên bản 10 I.4. Những thành phần của nền .NET .10 Nh chúng ta đã xem ở phần trớc, có nhiều thành phần trong nền .NET. Trong phần này chúng ta sẽ trình bày các thành phần nổi bật về tính chất và vai trò của chúng trong cả hệ thống .11 I.4.1. CLR .11 I.4.2. Mã quản lí và mã không quản lí ( Managed/Unmanaged Code ) .11 I.4.3. Ngôn ngữ trung gian , hệ thống kiểu thông thờng và CLS 12 I.4.4. Th viện lớp cơ sở của .NET .12 I.4.5. Assembly và metadata .12 I.4.6. Chơng trình dịch Just in time .13 I.4.7. Quản lí bộ nhớ ( Garbage Collection ) 13 I.4.8. Vòng đời của mã 14 II. Giới thiệu sơ bộ ngôn ngữ lập trình C# .14 II.1. Lập trình hớng đối tợng trong C# .14 II.2. Những đặc điểm của ngôn ngữ C# .15 II.2.1. Các toán tử 15 II.2.2. Các kiểu dữ liệu: .15 II.2.3. Các câu lệnh .16 II.2.4. Cấu tạo của một chơng trình C# .16 II.3. C# và những vấn đề nâng cao .18 II.3.1. C# với cơ sở dữ liệu 18 II.3.2. C# với Internet 18 Phần II: Đồ họa trong C# 19 I. Giới thiệu về GDI+ .19 II. Kiến trúc của GDI+ .19 II.1. Đồ họa Vector 2D 20 II.2. Hình ảnh .20 II.3. In ấn v hiển thị font chữ .20 III. Kiến trúc lớp của GDI+ .20 IV. Một số điểm mới trong GDI+ 21 1 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 IV.1. Bút vẽ Gradient .21 IV.2. Đờng cong Spline 22 IV.3. Đối tợng đồ họa độc lập 22 IV.4. Chức năng chuyển đổi v đối t ợng ma trận .22 IV.5. Vùng ảnh co giãn đợc .23 IV.6. Đổ bóng Alpha 23 V. Thay đổi trong mô hình lập trình 23 V.1. Ngữ cảnh thiết bị, Handles v các đối t ợng đồ họa .23 V.2. Bút vẽ, bút phủ, đồ họa, hình ảnh v Font chữ 24 VI. Giới thiệu các đối tợng đồ họa cơ bản trong GDI+ .24 VI.1. Đồ họa Vector .24 VI.2. Hình ảnh v Metafile .25 VI.3. Các loại hệ tọa độ 26 VI.4. Các phép chuyển đổi 27 Phần III: Đa luồng trong C# 28 I. Khái niệm đa luồng 28 I.1. Đa nhiệm ( multitasking ) 28 I.2. Đa luồng ( multitasking) 28 II. Đa luồng trong C# .29 II.1. Cấu trúc các lớp điều khiển luồng của C# 30 II.2. Tổng quát các phơng thức của lớp Thread 31 II.2.1. Tạo luồng ( create thread ) .32 II.2.2. Nhập luồng ( join thread ) 33 II.2.3. Dừng một luồng 34 II.2.4. Hủy một luồng 34 II.3. Vòng đời của một luồng 34 II.4. Sự u tiên của luồng và định thời gian biểu cho luồng 35 II.5. Đồng bộ hóa các luồng: .37 II.5.1. Lớp Interlocked: .37 II.5.2. Sử dụng lệnh C# lock: 37 II.5.3. Monitor: 38 Phần IV: XML và C# 42 I. Lịch sử các ngôn ngữ đánh dấu .42 I.1. Khái niệm đánh dấu (markup) .42 I.2. Ngôn ngữ đánh dấu 44 II. Tổng quan về ngôn ngữ XML .45 II.1. Ngôn ngữ XML là gì? 45 II.2. Các u điểm của XML .46 II.3. Các ứng dụng XML 46 II.3.1. Mathematical Markup Language (MathML) .46 II.3.2. Resource Description Framework(RDF) 46 II.3.3. XML Linking Language(XLink) .47 II.3.4. Synchronized Multimedia Intergration Language(SMIL) .47 II.3.5. Extensible Stylesheet Language(XSL) .47 II.4. Tơng lai XML .47 2 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 III. Cấu trúc và cú pháp XML 48 III.1. Cấu trúc XML .48 III.1.1. Cấu trúc logic 48 III.1.2. Cấu trúc vật lí .49 III.2. Cú pháp XML .50 III.2.1. Các thẻ gán và phần tử 50 III.2.2. Các thuộc tính và chú giải .51 IV. XML trong C# .52 IV.1. Tạo một tài liệu XML .52 IV.2. Duyệt tài liệu XML .54 IV.3. Quá trình Serializing .56 IV.4. Quá trình Deserializing .59 Phần V: Lập trình mạng trong C# .60 I. Giới thiệu về lập trình mạng .60 I.1. Nhận dạng máy 60 I.2. Socket .61 I.3. Server phục vụ nhiều clients 64 II. Giao tiếp với Web 66 II.1. Gửi và nhận các yêu cầu HTTP 66 II.2. Các yêu cầu Web không đồng bộ 68 II.3. Dịch vụ Web .68 Phần VI: Một vài so sánh C# với các ngôn ngữ khác .70 I. Sự khác nhau giữa C# và C/C++ .70 I.1. Về môi trờng 70 I.2. Về các lệnh 70 I.3. Về tổ chức chơng trình 71 II. Sự khác biệt giữa C# và Java .71 II.1. Về kiểu dữ liệu .71 II.2. Về truy cập thành phần 72 II.3. Các tham số ref và out .72 II.4. Giao diện (Interfaces) 73 II.5. Về 2 từ khoá khai báo import và using 73 III. Sự khác biệt giữa C# và VB 6.0 73 Kết luận .75 Tài liệu tham khảo 76 Phụ lục .77 I. Mô tả chơng trình minh họa .77 II. Hớng dẫn sử dụng chơng trình 78 III. Hớng dẫn cài đặt chơng trình .78 3 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Danh sách các hình vẽ Hình 1 Kiến trúc nền .NET .9 Hình 2 Cấu trúc CLR 11 Hình 3 Tô màu bằng bút vẽ Gradient tuyến tính .21 Hình 4 Đờng Bézier đợc tô bởi bút phủ Gradient .22 Hình 5 Chuyển đổi đồ thị 22 Hình 6 Co giãn vùng ảnh 23 Hình 7 Các mức độ trong suốt của màu nền .23 Hình 8 Hệ trục toạ độ của GDI+ 25 Hình 9 Dịch chuyển hệ toạ độ 26 Hình 10 Vòng đời của một luồng .36 Hình 11 Vòng luân phiên thực hiện luồng 36 Hình 12 Minh hoạ soạn thảo trong WordPad .42 Hình 13 Mã của văn bản đọc bằng NotePad .43 Hình 14 Mã của văn bản Word đọc bằng NotePad 43 Hình 15 Tạo văn bản HTML trong NotePad 44 Hình 16 Cấu trúc của XML 48 Hình 17 Khai báo thành phần trong XML .49 Hình 18 Minh họa cấu trúc cây của ví dụ .51 Hình 19 Kết quả chơng trình tạo tài liệu trên IE 6.0 54 Hình 20 Kết quả ví dụ Serializing trên IE 6.0 .58 4 Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Danh s¸ch c¸c thuËt ng÷ viÕt t¾t  IE 6.0 = Internet Explorer 6.0  CLS = Common Language Spcification  CLR = Common Language Runtime  IDE = Integrated Development Environment  API = Application Programming Interface  VB = Visual Basic  VC = Visual C  VS = Visual Studio  XML = Extensible Markup Language  MSIL = IL = Microsoft Intermediate Language  COM = Component Object Model  IDL = Interface Definition Language  DLL = Dynamic Link Library  GC = Garbage Collection  JIT = Just In Time compiler  ADO = ActiveX Data Object  MS = Microsoft  SQL = Structured Query Language  GDI = Graphic Device Independence  WMF = Window MetaFile  EMF = Enhanced MetaFile  CPU = Central Processing Unit  RTF = Rich Text Format  HTML = Hyper Text Markup Language  SGML = Standard Generalized Markup Language 5 Giới thiệu đề tài Trong nhiều năm, các lập trình viên C và C++ luôn phải đối mặt với những vấn đề đau đầu nh: sử dụng con trỏ, quản lí bộ nhớ, truyền tham trị, tham biến, xử lý danh sách, xây dựng th viện, đa kế thừa, xây dựng giao diện thân thiện với ngời dùng Vì vậy họ luôn mong muốn, tìm kiếm một ngôn ngữ thay thế có khả năng cũng nh tính uyển chuyển mạnh nh C và C++ hơn nữa lại đơn giản hơn. Vào giữa những năm 90, thế giới lập trình có sự thay đổi lớn với sự bùng nổ Internet ( Internet Boom ) và sự ra đời của ngôn ngữ lập trình Java. Ngay từ khi ra đời, Java đã cho thấy khả năng to lớn của nó trong việc phát triển các ứng dụng trên internet. Hơn nữa Java còn thnàh công với tuyên bố write once, run anywhere cố thể tạm dich là : viết một lần, chạy trên mọi nền. Thành công đó xuất phát từ ý tởng tách rời mã khi biên dịch chơng trình và mã khi chạy chơng trình, đây là điểm khác biệt lớn so với những ngôn ngữ lập trình C hay C++. Java đa ra một khái niệm mới : máy ảo. Máy ảo thực hiện các công việc nh biên dịch ra mã máy, quản lí bộ nhớ hay nói cách khác, máy ảo đóng vai trò giao tiếp giữa ứng dụng Java và môi trờng ( hệ điều hành, hay phần cứng) làm cho ứng dụng Java độc lập với môi trờng. Tuy nhiên tốc độ phát triển Java lại chậm dần, và không thể đấp ứng đợc những đòi hỏi ngày càng cao của ngời dùng. Các hãng phát triển Java chậm đa ra một môi trờng tích hợp IDE phục vụ cho phát triển các dự án phần mềm. Việc lập trình các ứng dụng trên Windows bằng Java không thuận tiện, Java có nhiều hạn chế trong việc giao tiếp với các ngôn ngữ khác nh C++, Visụal Basic Java không có sự phát triển đồng nhất theo xu hớng thuận tiện cho ngời sử dụng, phải mất nhiều năm Java mới hỗ trợ đợc điều khiển Mouse wheel, khó sử dụng th viện API của hệ điều hành, phiên bản Visual J++ của Microsoft phát triển thì lại mang nhiều nét không giống với nguyên bản. Windows XP ra đời với tuyên bố không hỗ trợ máy ảo Java, không tích hợp máy ảo Java vào trình duyệt IE 6.0 đã làm uy tín của Java suy giảm nặng nề. Cuối cùng thì ngôn ngữ mà các lập trình viên mong đợi cũng xuất hiện, đánh dấu chấm hết cho cuộc tìm kiếm ngôn ngữ lập trình kéo dài nhiều năm của các lập trình viên. Đợc bắt đầu nghiên cứu từ năm 1997, vào năm 2001, Microsoft giới thiệu một platform mới --.Net, đi cùng với nó là một ngôn ngữ mới - C#. C# đợc coi nh ngôn ngữ mang tính cách mạng của Microsoft. Dựa trên kinh nghiệm của các ngôn ngữ trớc đó nh C, C++ và VB, C# đợc thiết kế nhằm sử dụng đơn giản, hoàn toàn hớng đối tợng. Với sự tích hợp C# với VS. Net, việc phát triển các ứng dụng Windows và Web nhanh và đơn giản. Có thể truy cập vào các th viện lớp của .Net, C# hỗ trợ phát triển các ứng dụng ASP.Net và dịch vụ Web. Bên cạnh đó, C# tăng cờng năng suất lập trình bằng việc xoá bỏ đi những lỗi thông thờng có trong C và C++. Java thành công nhất trên 2 lĩnh vực: lập trình các ứng dụng trên server và trong giảng dạy khoa học tính trong các trờng học. C# cũng có khả năng vợt trội Java trên hai lĩnh vực đó. Trong đề tài này, chúng em không thể trình bày hết mọi vấn đề liên quan đến ngôn ngữ C#, chúng em chỉ xin giới thiệu sơ bộ về .NET và C# cùng với một số vấn đề nâng cao trong ngôn ngữ C# nh sau: 1. Giới thiệu sơ bộ về nền .NET và ngôn ngữ C# 6 2. Đồ hoạ trong C# 3. Đa luồng trong C# 4. XML và C# 5. Lập trình mạng trong C# 6. Một vài so sánh C# với các ngôn ngữ khác Trong đề tài này, chúng em không dám chắc mọi trình bày, đánh giá là chính xác, xác đáng. Trong khi làm đề tài có một số thuật ngữ Anh khó chuyển tải đúng nghĩa sang tiếng Việt nên đợc giữ nguyên. Chúng em kính mong thầy thông cảm và góp ý sửa chữa những điểm cha tốt trong báo cáo. 7 Phần I: Giới thiệu sơ bộ về nền .NET và ngôn ngữ C# Nếu nh Java ra đời, nổi tiếng với tuyên bố: write once, run anywhere, thì ngay từ khi chào đời, C# và .NET đợc các nhà thiết kế gắn với tuyên bố: Every language, one platform, có thể tạm dịch là: mọi ngôn ngữ đều chạy trên một nền. Nền đó chính là .NET ( .NET Framework). Vậy .NET là gì ? Chúng ta sẽ cùng nhau tìm hiểu về .NET qua các vấn đề sau : - Giới thiệu chung về nền .NET - Những đặc điểm của nền .NET - Những thành phần của .NET I. Giới thiệu sơ bộ về .NET I.1. Giới thiệu chung về nền .NET (.NET platform) Nền .NET là một khái niệm mới trong khoa học máy tính; nó vợt ra ngoài khuôn khổ của một ngôn ngữ lập trình, một bộ th viện; nó cha phải là một hệ điều hành, chúng ta có thể hiểu đơn giản nó là một nền để từ đó có thể phát triển các ứng dụng cả trên Windows lẫn trên Internet thuận tiện hơn. Nền .NET đợc thiết kế để phục vụ các mục đích sau: o Cung cấp một môi trờng lập trình hớng đối tợng tuyệt đối, mã của chơng trình đợc thực thi trên một máy hay cững có thể thực thi từ một máy từ xa thông qua Internet. o Giảm thiểu tối đa xung đột giữa các version của một phần mềm o Đem lại một môi trờng cho phép các ngôn ngữ lập trình có thể giao tiếp với nhau, tích hợp với nhau Chú ý: chúng ta cũng cần phải phân biệt giữa hai thuật ngữ: .NET và nền .NET. .NET bao gồm 3 thành phần cơ bản : o Nền .NET: một nền cho phép phát triển các ứng dụng o Các sản phẩm .NET: bao gồm tất cả các sản phẩm của Microsoft dựa trên nền .NET. o Các dịch vụ .NET: các dịch vụ đợc cung cấp bởi Microsoft phục vụ cho việc phát triển các ứng dụng chạy trên nền .NET. Nh vậy nền .NET chỉ là một thành phần của .NET. Nền .NET gồm hai thành phần chính: Common language runtime ( CLR ) và th viện lớp nền .NET. Hai thành phần này sẽ đợc trình bày cụ thể ở những phần sau. I.2. Kiến trúc phân lớp nền .NET 8 Hình 1 biểu diễn kiến trúc nền .NET. Mỗi ngôn ngữ thuộc gia đình .NET ( phiên bản đầu tiên gồm các ngôn ngữ : VC.NET, VB.NET, C#, sau đó có thêm VJ# ) Hình 1 Kiến trúc nền .NET đều đợc dịch sang ngôn ngữ trung gian Microsoft ( MSIL hay gọi ngắn là IL ) ngôn ngữ dựa theo tiêu chuẩn của Common Language Specification ( CLS ). Có 3 loại ứng dụng cơ bản là: các ứng dụng Web, các dịch vụ Web, các ứng dụng Form trên Windows. Những ứng dụng này sử dụng các đối tợng, phơng thức từ th viện lớp cơ sở và chạy trong môi trờng CLR. I.3. Những đặc trng của nền .NET Những đặc trng chủ chốt của nền .NET chủ yếu nằm trong CLR, th viện lớp cơ sơ và CLS. Chúng em chỉ xin trình bày một số đặc trng chúng em cho là dễ nhận biết và nắm bắt nhất I.3.1. Phát triển đa ngôn ngữ Trớc đây, vấn đề sử dụng đa ngôn ngữ ( multilanguage ) hay giao thoa ngôn ngữ lập trình ( cross language ) đã đợc đề cập nhiều khi phát triển các ứng dụng. Đa ngôn ngữ có thể hiểu là việc sử dụng nhiều ngôn ngữ phát triển một ứng dung, mỗi ngôn ngữ viết lên một phần ứng dụng. Với giải pháp này, ngời lập trình có thể sử dụng một ngôn ngữ mà mình quen thuộc kết hợp sử dụng lại những đoạn mã đợc viết trên những ngôn ngữ khác phù hợp với mục đích của một phần chơng trình nhất định để xây dựng lên một ứng dụng hoàn chỉnh. Một phơng pháp truyền thống để thực hiện giải pháp này là xây dựng nên các th viện động .dll. Phơng pháp này đợc áp dụng trong VS 6.0. Mỗi ngôn ngữ đều có thể xây dựng nên một th viện .dll. Một ngôn ngữ khác sẽ sử dụng file .dll đó nh là một phần th viện của mình. Phơng pháp th hai là sử dụng mô hình đối tợng hớng thành phần COM ( trong đề tài này sẽ không trình bày về COM, 9 ở đây chúng em chỉ điểm qua). Cả hai phơng pháp trên đều sử dụng ngôn ngữ định nghĩa giao diện ( IDL ). Với nền .NET, chúng ta có thể thực hiện việc phối hợp ngôn ngữ dễ dàng hơn. Nền .NET cho phép ngôn ngữ này có thể tích hợp với ngôn ngữ khác bằng việc sử dụng ngôn ngữ trung gian là MSIL Tất cả các ngôn ngữ khi soạn thảo có thể khác nhau, sau đó đợc dich bởi một chơng trình dịch thích hợp, chúng đều trở thành dạng ngôn ngữ trung gian, khác biệt giữa các ngôn ngữ hoàn toàn bị xoá bỏ. Ngôn ngữ trung gian sẽ đợc đa vào CLR để thực thi. I.3.2. Chơng trình ứng dụng độc lập với hệ điều hành và bộ vi xử lí Ngôn ngữ trung gian IL là ngôn ngữ độc lập với bộ vi xử lí, nó là ngôn ngữ ở cấp cao hơn ngôn ngữ máy. Khi nào cần thực thi, IL sẽ đợc dịch ra ngôn ngữ máy thích hợp. Bất cứ hệ điều hành nào hỗ trợ nền .NET thì ứng dụng .NET sẽ chạy và không gặp khó khăn gì. Đối với các hệ điều hành thuộc họ Windows từ Win 98 trở nên đều hỗ trợ nền .NET. Tháng 6 2001, khi mới cho ra đời .NET, Microsoft đã thông báo rằng họ đã đạt đợc thoả thuận phát triển .NET trên Unix, tuy nhiên đến nay vẫn cha có kết quả chính thức. Tháng 10 2001, Microsoft cho phép Ximian, ngời đã phát triển giao diện GNOME thông dụng trên Linux, phát triển một chơng trình dịch C# và CLR trên Linux. Phiên bản đầu tiên có tên Mono có thể tìm trên www.go-mono.net. Công việc hiện đang tiến hành ở giai đoạn xây dựng th viện cơ sở trên Linux. I.3.3. Quản lí bộ nhớ tự động Rò rỉ bộ nhớ luôn là vấn đề phức tạp trong lập trình khi ta không quản lý nổi những vùng nhớ đã đợc cấp phát. Trong Visual Basic, quản lý bộ nhớ đợc thực hiện bởi kĩ thuật đếm số lần truy cập. Trong C và C++, cách tốt nhất để quản lý bộ nhớ là tự mình trả lại cho hệ điều hành những vùng nhớ không dùng nữa. Trong .NET, có một bộ phận là GC( Garbage Collection ) làm nhiệm vụ thu hồi lại vùng nhớ hiệu quả hơn những cách trên. I.3.4. Hỗ trợ phiên bản Những lập trình viên đã từng lập trình với th viện động DLL chắc hẳn đều biết đến thuật ngữ DLL Hell. DLL Hell có thể miêu tả nh sau : bạn đang sử dụng một ch- ơng trình ứng dụng với một DLL phiên bản 1.0, sau đó bạn cài thêm một ứng dụng khác cũng sử dụng một DLL giống nh vậy với phiên bản 1.1. Khi đó ứng dụng cữ lập tức sẽ có vấn đề, có thể không chạy. Khi bạn thay thế DLL đó với DLL phù hợp với ứng dụng cũ thì ứng dụng mới lại không chạy. Trong .NET, các thành phần của đối t- ợng luôn đợc phân tách riêng rẽ, một ứng dụng chỉ load những thành phần đã đợc xây dựng, kiểm tra chạy thử với ứng dụng đó. Sau khi một ứng dụng đã cài đặt và chạy thử thành công thì nó luôn chạy. .NET thực hiện vấn đề này bằng cách sử dụng thêm thành phần là assemblies. Những thành phần đợc đóng gói lại trong một assembly. Assembly có chứa thông tin về phiên bản, và CLR trong .NET sẽ sử dụng thông tin này để nạp đúng những thành phần phục vụ cho ứng dụng I.4. Những thành phần của nền .NET 10 [...]... ngữ lập trình C# Có thể coi ngôn ngữ lập trình C# là ngôn ngữ lập trình đơn giản vì nó chỉ có khoảng 80 từ khoá và khoảng 12 kiểu dữ liệu xây dựng sẵn ( built-in) tuy nhiên nó hỗ trợ tất cả các mô hình lập trình : lập trình cấu trúc, lập trình hớng đối tợng và lập trình hớng thành phần ( COM ) II.1 Lập trình hớng đối tợng trong C# C# là ngôn ngữ hoàn toàn hớng đối tợng Tính chất hớng đối tợng có thể trình. .. các view cho dữ liệu II.3.2 C# với Internet Từ giữa những năm 90, thế giới lập trình có sự thay đổi từ lập trình ứng dụng trên các máy riêng lẻ chuyển sang lập trình các ứng dụng trên Internet Các chơng trình ứng dụng trên Web có các u điểm nh : chi phí thấp, truy cập thuận tiện từ các nơi khác nhauĐối với các site tĩnh (static site) dù là đơn giản nhất cũng cần phải lập trình để quản lí Web Form Lớp... động xử lí lỗi II.2.4 Cấu tạo của một chơng trình C# Nếu nh trong C, đơn vị chơng trình lớn nhất là các hàm ( modul), trong Java và C++, đơn vị chơng trình lớn nhất là các lớp ( class) thì trong C#, đơn vị chơng trình lớn nhất là không gian tên (namespace) Một chơng trình C# chứa một hay nhiều không gian tên, trong đó một không gian tên chứa dữ liệu của chơng trình, các không gian tên còn lại là các không... tợng khác Ngoài ra, C# cúng cho phép ngời lập trình thực hiện các hoạt động sử dụng lại dữ liệu nh kế thừa, đa hình thái và kết tập II.2 Những đặc điểm của ngôn ngữ C# C# đợc xây dựng từ những ngôn ngữ tiền đặc biệt là C và C++ cho nên những đặc điểm ngôn ngữ của C# rất giống với ngôn ngữ C, C++ Trong phần này, chúng em sẽ trình bày một vài đặc điểm của C# II.2.1 Các toán tử Trong C# có các toán tử thông... vốn chỉ sử dụng bởi các lập trình viên hệ thống cực kỳ kinh nghiệm Ngôn ngữ C# cùng với các ngôn ngữ khác trong bộ NET đã biến các tính năng nguyên thủy đồng thời trở nên sẵn sàng 29 cho ngời lập trình xây dựng các ứng dụng cá nhân .Lập trình viên C# có thể xây dựng ứng dụng có nhiều luồng thi hành mà mỗi luồng chỉ định rõ một phần công việc trong số nhiều phần việc của một chơng trình và có thể thi hành... dụng trên C# đều có hàm main Hàm main chính là điểm vào của chơng trình (entry point), chơng trình bắt đầu từ hàm main và kết thúc ở đây Trong hàm main 17 chúng ta có thể khởi tạo các đối tợng ( trong lập trình giao diện Windows) hay gọi các hàm khác thực thi ( trong lập trình Console ) Hàm main phải là static và xây dựng trong một lớp, có thể trả lại giá trị Int hay không trả về giá trị II.3 C# và những... với cách thực hiện này một tiến trình ngăn chặn các tiến trình khác đợc xử lí đồng thời I.2 Đa luồng ( multitasking) Không gian bộ nhớ, trong đó một ứng dụng đợc thực hiện đợc gọi là tiến trình (process) Trong phạm vi một tiến trình thờng có nhiều công việc cần đợc thực hiện Quá trình thực hiện một công việc đợc gọi là một luồng (tiểu trình) Các công việc trong một tiến trình có thể thực hiện tuần tự,... cho ta thấy đa luồng đóng vai trò quan trọng trong cuộc sống của chúng ta Tuy nhiên không phải hầu hết các ngôn ngữ lập trình đều cho phép lập trình viên chỉ định các hành động diễn ra đồng thời Thay vào đó ngôn ngữ lập trình cung cấp cho chúng ta một tập cấu trúc đơn giản để cho một chơng trình hoạt động tại một thời điểm và chỉ tiếp tục hành động tiếp theo khi hành động thứ nhất đã kết thúc Kiểu hoạt... ngữ mà tất cả các ngôn ngữ lập trình trên NET phải tuân theo, nó cũng bao gồm các kiểu dữ liệu và các qui cách trong hệ thống kiểu thông thờng Những ngời muốn phát triển một ngôn ngữ trên NET thì cũng phải dựa theo CLS để xây dựng chơng trình dịch gọi là chơng trình dịch CLS Ngôn ngữ trung gian IL đợc dịch ra từ mã nguồn của một ngôn ngữ lập trình cấp cao bằng một chơng trình dịch CLS, ngôn ngữ trung... hệ điều hành ngắt tiến trình đều đặn giữa các khoảng thời gian để đa tiến trình kế tiếp trong hàng đợi vào thực hiện vì vậy không có tiến trình nào có độc quyền chiếm CPU tại bất cứ thời điểm của thời gian Số lợng thời gian đa tới mỗi tiến trình phụ thuộc vào bộ vi xử lý và hệ điều hành Thời gian xử lý cho mỗi tiến trình rất nhỏ điều này đa ra cảm tởng rằng một tập hợp các tiến trình chạy đồng thời nhng

Ngày đăng: 27/04/2013, 19:40

Hình ảnh liên quan

Hình 1 biểu diễn kiến trúc nền .NET. Mỗi ngôn ngữ thuộc gia đình .NE T( phiên bản đầu tiên gồm các ngôn ngữ : VC.NET, VB.NET, C#, sau đó có thêm VJ# )  - Lập trình C#

Hình 1.

biểu diễn kiến trúc nền .NET. Mỗi ngôn ngữ thuộc gia đình .NE T( phiên bản đầu tiên gồm các ngôn ngữ : VC.NET, VB.NET, C#, sau đó có thêm VJ# ) Xem tại trang 9 của tài liệu.
Hình 2 Cấu trúc CLR - Lập trình C#

Hình 2.

Cấu trúc CLR Xem tại trang 11 của tài liệu.
Hình 8 Hệ trục toạ độ của GDI+ - Lập trình C#

Hình 8.

Hệ trục toạ độ của GDI+ Xem tại trang 25 của tài liệu.
Hình 10 Vòng đời của một luồng - Lập trình C#

Hình 10.

Vòng đời của một luồng Xem tại trang 36 của tài liệu.
Hình 12 Minh hoạ soạn thảo trong WordPad - Lập trình C#

Hình 12.

Minh hoạ soạn thảo trong WordPad Xem tại trang 42 của tài liệu.
Hình 14 Mã của văn bản Word đọc bằng NotePad - Lập trình C#

Hình 14.

Mã của văn bản Word đọc bằng NotePad Xem tại trang 43 của tài liệu.
Hình 13 Mã của văn bản đọc bằng NotePad - Lập trình C#

Hình 13.

Mã của văn bản đọc bằng NotePad Xem tại trang 43 của tài liệu.
Hình 16 Cấu trúc của XML - Lập trình C#

Hình 16.

Cấu trúc của XML Xem tại trang 48 của tài liệu.
Hình 20 Kết quả ví dụ Serializing trên IE 6.0 - Lập trình C#

Hình 20.

Kết quả ví dụ Serializing trên IE 6.0 Xem tại trang 58 của tài liệu.
Bảng so sánh các kiểu dữ liệu giữa Java và C#:      - Lập trình C#

Bảng so.

sánh các kiểu dữ liệu giữa Java và C#: Xem tại trang 72 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan