TỔNG QUAN .NET NGÔN NGỮ C# Nội dung 1. Giới thiệu .NET Framework 1. CLR, CTS, CLS, MSIL… 2. Garbage collection 3. Namespace 2. Tổng quan ngôn ngữ C# 1. Đặc điểm ngôn ngữ 2. Quá trình biên dịch CT C# 3. Các loại CT C# 4. Cấu trúc chương trình C# 5. Chương trình C# đơn giản 2 .NET Framework Microsoft .NET gồm 2 phần chính : Framework và Integrated Development Environment (IDE). Framework cung cấp những gì cần thiết và căn bản. IDE thì cung cấp một môi trường giúp chúng ta triển khai dễ dàng, và nhanh chóng các ứng dụng XML Web Web Service Forms ASP.NET C# VB.NET J# Windows Forms C++ … dựa trên nền tảng .NET. Chương trình nền tảng cho công nghệ .NET Cung cấp tập hợp class library thường dùng Custom Classes Data and XML Classes Base Framework Classes Common Language Runtime Quản lý sự thực thi của các chương trình .NET 3 Ứng dụng của .NET Framework Một mô hình lập trình cho phép nhà phát triển xây dựng các ứng dụng dịch vụ web và ứng dụng client với Extensible Markup Language (XML). Tập hợp dịch vụ XML Web, như Microsoft .NET My Services cho phép nhà phát triển đơn giản và tích hợp người dùng kinh nghiệm. Cung cấp các server phục vụ bao gồm: Windows 2000, SQL Server, và BizTalk Server, tất cả điều tích hợp, hoạt động, và quản lý các dịch vụ XML Web và các ứng dụ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 vụ Web XML, ứng dụng trên nền Windows hay nền web một cách dể dàng và hiệu quả. 4 .NET Framework .NET 3.5 (Nov­2007) VS.NET 2008 Default: Windows 7 .NET 2.0 (Nov­2005) VS.NET 2005 .NET 1.1 (Apr­2003) VS .NET 2003 Default: Server 2003 .NET 1.0 (Feb­2002) .NET 3.0 (Nov­2006) Default: Windows Vista, Server 2008 5 Đặc điểm của ứng dụng .NET Chạy trên nền (.NET framework) Mã nguồn được biên dịch qua MSIL(MS Intermediate Language) MSIL được thông dịch qua mã máy lúc thực thi nhờ vào CLR (Common Language RunTime) Độc lập nền tảng Về lý thuyết có thể chạy trên mọi nền! Install .NET Framework redistribute packadge (dotnetfx.exe) để chạy ứng dụng .NET trên máy client. 6 Đặc điểm của ứng dụng .NET CT C# C#.NET Compiler Programmer CT VB.NET VB .NET Compiler MS IL CLR CT J#.NET CT C++.NET J# .NET Compiler C++ Compiler 7 .NET Framework ­ Architechture .NET Framework có hai thành phần chính: Common Language Runtime (CLR) và thư viện lớp .NET Framework. CLR là nền tảng của .NET Framework. Common Infrastructure Language (CIL) provide a language-neutral platform for application development and execution 8 .NET Framework ­ CLR Theo quan điểm của người lập trình, .NET có thể hiểu như môi trường thực thi mới và thư viện lớp cơ sở cải tiến. Môi trường thực thi là: Common Language Runtime - CLR Vai trò chính CLR: locate, load, manage .NET types CLR còn quản lý những phần ở mức thấp như: memory management, security check Thư viện lớp .NET 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 chúng ta có thể phát triển những ứng dụng từ những ứng dụng truyền thống command-line hay những ứng dụng có giao diện đồ họa (GUI) đến những ứng dụng mới nhất được cung cấp bởi ASP.NET, như là Web Form và dịch vụ XML Web. 9 .NET Framework ­ CTS Common Type System (CTS): CTS đảm bảo rằng những mã nguồn được quản lý thì được tự mô tả (selfdescribing). Mã nguồn được quản lý có thể sử dụng những kiểu được quản lý khác và những thể hiện, trong khi thúc đẩy nghiêm ngặt việc sử dụng kiểu dữ liệu chính xác và an toàn. Mục đích hỗ trợ thực thi chéo ngôn ngữ Định nghĩa kiểu dữ liệu tiền định và có sẵn trong IL: Tất cả ngôn ngữ .NET sẽ được sinh ra mã cuối trên cơ sở kiểu dữ liệu này VB.NET IL C# … … … IInteger IInt32 iint … … … 10 . NET Framework ­ CLS Common Language Specification: Đảm bảo sự thực thi chéo Tất cả compiler hướng .NET đều phải tuân thủ theo CLS Có thể viết mã non-CLS nhưng sẽ ko đảm bảo thực thi chéo IL phân biệt loại ký tự, VB.NET ko phân biệt, CLS báo rằng ko cho phép 2 định danh chỉ khác nhau về kiểu ký tự, do đó VB.NET có thể hoạt động trong CLS C# VB.NET 11 . NET Framework ­ CLS C++ C# CLS CLR/ CTS/IL CLS is the smallest common Visual Basic denominator of various OO­ languages. FCL only uses CLS features. 12 MS Intermediate Language Trong .NET Framework, chương trình không được biên dịch vào các tập tin thực thi mà thay vào đó chúng được biên dịch vào những tập tin trung gian gọi là Microsoft Intermediate Language (MSIL). IL Abstracted assembly language Ý tưởng tương tự mã Java bytecode Mã cấp thấp cú pháp đơn giản quá trình dịch sang mã máy nhanh hơn CLR chuyển IL thành mã máy lúc runtime Sự chuyển này gọi là Just – In – Time Compilation hay JIT compiling 13 Common Language Runtime ­ compilation • Mã nguồn C# được biên dịch vào MSIL khi chúng ta build project. Mã MSIL này được lưu vào trong một tập tin trên đĩa. • Khi chúng ta chạy chương trình, thì MSIL được biên dịch một lần nữa, sử dụng trình biên dịch Just-In-Time (JIT). Kết quả là mã máy được thực thi bởi bộ xử lý của máy. Source Code C++, C#, VB or any .NET language Compiler csc.exe or vbc.exe