Danh mục

Giáo trình kỹ thuật lập trình C#

Số trang: 219      Loại file: doc      Dung lượng: 4.94 MB      Lượt xem: 20      Lượt tải: 0    
tailieu_vip

Phí tải xuống: 4,000 VND Tải xuống file đầy đủ (219 trang) 0
Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tôi muốn nhấn mạnh rằng đừng bao giờ xem xét ngôn ngữ C# một cách tách biệt, nó luôn đồng hành với "Bộ khung .NET". C# là một trình biên dịch hướng .NET, nghĩa là tất cả các mã của C# luôn luôn chạy trên trên môi trường .NET Framework. Điều đó dẫn đến 2 hệ quả sau: Cấu trúc và các lập luận C# được phản ánh các phương pháp luận của .NET ngầm bên dưới. Trong nhiều trường hợp, các đặc trưng của C# thậm chí được quyết định dựa vào các đặc trưng của .NET, hoặc thư viện lớp cơ...
Nội dung trích xuất từ tài liệu:
Giáo trình kỹ thuật lập trình C# Giáo trình Lập trình với C# Chương 1 - Kiến trúc của C# và .NET Chương 2 - Căn bản C# Chương 3 - Hướng đối tượng trong C# Chương 4 - Những chủ đề tiến bộ trong C# Chương 5 - C# và các lớp cơ sở Chương 6 - Lập trình trong môi trường .NET Chương 7 - Windows Applications Chương 8 - Assemblies Chương 9 - Truy cập cơ sở dữ liệu với .NET Chương - Viewing .NET Data 10 Chương - Thao tác XML 11 Chương - File and Registry Operations 12 Chương - Làm việc với Active Directory 13 Biên dịch từ cuốn Professional C#, 2nd Edition, Xuất bản bởi Wrox Press Ltd . Chương 1: C# và kiến trúc .NET Tổng quan: Tôi muốn nhấn mạnh rằng đừng bao giờ xem xét ngôn ngữ C# một cách tách bi ệt, nó luôn đ ồng hành với B ộ khung .NET. C# là một trình biên dịch hướng .NET, nghĩa là tất cả các mã của C# luôn luôn chạy trên trên môi tr ường .NET Framework. Điều đó dẫn đến 2 hệ quả sau: • Cấu trúc và các lập luận C# được phản ánh các phương pháp luận của .NET ngầm bên dưới. • Trong nhiều trường hợp, các đặc trưng của C# thậm chí được quyết định dựa vào các đ ặc tr ưng của .NET, hoặc thư viện lớp cơ sở của .NET. Chính bởi tầm quan trọng của .NET, nên các bạn cần phải biết sơ qua về .NET trước khi đi vào ngôn ng ữ C#. Đây cũng chính là mục đích của chương này. Chúng ta sẽ tìm hiểu xem chuyện gì sẽ xảy ra khi mã của các ngôn ngữ hướng .NET (bao g ồm C#) đ ược biên dịch và th ực thi. Đây là một lĩnh vực rộng, chúng ta sẽ tìm hiểu kĩ hơn về Microsoft Intermediate Language (MS-IL), ngôn ngữ trung gian trong .NET mã của các ngôn ngữ khác đều phải được biên dịch về ngôn ng ữ này tr ước khi thực thi. C ụ th ể chúng ta s ẽ tìm hiểu xem cách thức mà MS-IL với phần dùng chung Common Type System (CTS) và Common Language Specification (CLS) có thể cung cấp cho chúng ta sự tương hoạt giữa các ngôn ngữ hướng .NET. Chúng ta cũng s ẽ trình bày các ngôn ng ữ biết .NET khác bao gồm VB và C++. Sau đó chúng ta sẽ xem xét các đặc trưng khác của .NET, bao gồm các assembly, các namespace, và th ư vi ện l ớp c ơ b ản của .NET. Chúng ta sẽ kết thúc chương này bằng việc liệt kê vắn tắt về các loại ứng dụng mà chúng ta có thể t ạo ra trong C#. Mối quan hệ giữa C# và .NET C# là một ngôn ngữ lập trình mới, và được biết đến với hai lời chào: • Nó được thiết kế riêng để dùng cho Microsoft's .NET Framework (Một nền khá mạnh cho s ự phát tri ển, tri ển khai, hiện thực và phân phối các ứng dụng) • Nó là một ngôn ngữ hoàn toàn hướng đối tượng được thiết kế dựa trên kinh nghi ệm của các ngôn ng ữ hướng đ ối tượng khác. Một điều quan trọng cần nhớ C# là một ngôn ngữ độc lập. Nó được thiết kế để có thể sinh ra mã đích trong môi tr ường .NET, nó không phải là một phần của .NET bởi vậy có một vài đặc trưng được hỗ trợ bởi .NET nhưng C# không hỗ tr ợ và bạn cũng đừng ngạc nhiên khi có những đặc trưng C# hỗ trợ mà .NET không hỗ tr ợ (chẳng hạn như quá t ải toán t ử) Để tạo được những ứng dụng mang tính hiệu quả cao, chúng ta sẽ xem qua về hoạt động của .NET Common Language Runtime Trung tâm của .NET framework là môi trường thời gian chạy, gọi là Common Language Runtime (CLR) hoặc .NET runtime. Mã của các điều khiển trong CLR thường là mã có quản. Tuy nhiêu, trước khi được thực thi bởi CLR, mã được phát triển trong C# (hoặc các ngôn ng ữ khác) cần ph ải đ ược biên dịch.Quá trình biên dịch trong .NET xảy ra theo hai bước: 1. Dịch mã nguồn thành Microsoft Intermediate Language (MS-IL) 2. Dịch IL thành mã nền cụ thể bởi CLR Mới nhìn có vẻ hơi dài dòng. Nhưng thật sự, một tiến trình dịch hai mức là r ất cần thi ết, bởi vì tr ạng thái c ủa Microsoft Intermediate Language (mã có quản) là chìa khóa cung cấp nhiều lợi ích trong .NET. Các lợi ích của mã có quản Microsoft Intermediate Language (thường được viết tắt làIntermediate Language, hay IL) t ương t ự nh ư ý t ưởng v ề mã Java byte, nó là một ngôn ngữ cấp thấp với những cú pháp đơn giản (dựa trên cơ sở mã s ố hơn là text), chính đi ều này s ẽ làm cho quá trình dịch sang mã máy nhanh hơn. Hiểu kĩ các cú pháp này sẽ mang l ại những l ợi ích đáng k ể. Độc lập nền Trước tiên, nó có nghĩa là các file chứa mã lệnh có thể chạy trên bất kì nền nào, vào thời gian ch ạy trình biên d ịch cu ối s ẽ hoạt động và mã có thể chạy trên một nền cụ thể. Nói cách khác việc dịch mã nguồn sang Intermediate Language cho phép độc lập nền trong .NET, nó giống như cách dịch mã nguồn sang Java byte code cung cấp s ự đ ộc l ập nền trong Java. Bạn cũng nên biết rằng sự độc lập nền của .NET chỉ là trên lí thuyết bởi vì t ại thời đi ểm này, .NET ch ỉ có s ẵn trong Windows. Tuy nhiên việc chuyển .NET sang những nền khác đang được khảo sát t ỉ mỉ (xem ví dụ Mono project, m ột s ự c ố gắng tạo một thực thi mã nguồn mở trong .NET, tại địa chỉ http://www.go-mono.com/). Sự cải tiến trong thực thi Mặc dù chúng ta đã so sánh với Jave, IL thật sự có một chút khả quan hơn Java. IL luôn là trình biên d ịch Just-In-Time, ngược lại Java byte code thì thường là thông dịch. Một trong những bất lợi của Java là vào lúc thực thi quá trình d ịch t ừ java byte code sang mã máy tốn nhiều tài nguyên. Thay vì phải dịch toàn bộ ứng dụng một lần, trình biên dịch JIT sẽ biên dịch t ừng ph ần mã khi nó đ ược g ọi. Khi mã đ ược dịch rồi, mã kết quả sẽ được giữ lại cho tới khi thoát khỏi ứng dụng, chính vì thế nó không phải biên dịch l ại trong l ần ch ạy kế tiếp. Microsoft quả quyết rằng cách xử lí này có hiệu lực cao hơn là dịch toàn bộ ứng dụng, bởi vì có tr ường h ợp một khối lượng lớn mã của ứng dụng không bao giờ được sử dụng trong thời gian chạy. Khi sử dụng trình biên dịch JIT , các đoạn mã này sẽ không bao giờ được dịch. Chính vì thế chúng ta hi vọng rằng mã IL sẽ thực thi nhanh như là mã máy. Microsof cam k ết chúng ta s ẽ có một thay đ ổi l ớn trong thực thi. Lời lí giải là, là lần dịch cuối cùng trong thời gian chạy, trình biên dịch JI ...

Tài liệu được xem nhiều: