MỤC LỤC I MỤC LỤC MỤC LỤC. IV BÀI 1: TỔNG QUAN VỀ .2 Lịch sử hình thành .3 Quá trình phát triển .2 Common Language Runtime (CLR) .3 Thư viện lớp .4 Biên dịch và MS Intermediate Language .5 Garbage collection - bộ thu dọn rác. 13 CÂU HỎI ÔN TẬP. 13 BÀI 2: NGÔN NGỮ C# .1 CÁC ĐẶC ĐIỂM CỦA NGÔN NGỮ C#.2 Đặc điểm của ngôn ngữ C# .3 Các loại ứng dụng C# .5 Cấu trúc chương trình C# .1 Kiểu dữ liệu – Data type.2 Từ khóa – Keyword .3 Quy tắc đặt tên, biến, hằng .5 Chuyển đổi các kiểu dữ liệu trong C#.
36 CÂU HỎI ÔN TẬP. 36 BÀI 3: LỚP VÀ GIAO DIỆN .42 II MỤC LỤC 3.2 KẾ THỪA VÀ ĐA HÌNH .2 Up-cast và down-cast. 53 CÂU HỎI ÔN TẬP. 54 BÀI 4: DELEGATE & EVENT .1 ỦY THÁC - DELEGATE .5 Demo – Buble sort .2 SỰ KIỆN - EVENT .1 Lập trình sự kiện.
68 CÂU HỎI ÔN TẬP .1 LANGUAGE INTEGRATED QUERY (LINQ).1 Nguồn dữ liệu (data source) .2 Truy vấn LINQ .3 Thực thi truy vấn .2 SỬ DỤNG TRUY VẤN LINQ.1 Cú pháp truy vấn và cú pháp phương thức .2 Danh sách truy vấn LINQ. 81 CÂU HỎI ÔN TẬP. 82 BÀI 6: WINDOWS FORM .1 Giao diện đồ họa – Graphical User Interface .2 Cơ chế lập trình sự kiện – Event-Driven Programming.2 ỨNG DỤNG WINDOWS FORM .1 GUI Components/Controls. 90 CÂU HỎI ÔN TẬP.
90 BÀI 7: WINDOWS CONTROLS .1 TỔNG QUAN VỀ CONTROLS. 94 MỤC LỤC III 7.1 Label, TextBox, Button.2 GroupBox, Panel & TabControl .2 Các đặc điểm của ADO.2 CÁC ĐỐI TƯỢNG ADO.1 Kiến trúc ADO.2 Các đối tượng ADO. 135 BÀI 9: DATA BINDING.1 Simple Data Binding .2 Complex Data Binding.3 Data Binding dữ liệu cho Windows Controls. 143 BÀI 10: ENTITY FRAMEWORK (EF) .1 Kiến trúc trong Entity FrameWork .2 Các thành phần trong Entity FrameWork .2 SỬ DỤNG ENTITY FRAMEWORK MÔ HÌNH CODE FIRST .1 Cài đặt EF .2 Tạo Entity Data Model .5 Truy vấn với EDM.
155 CÂU HỎI ÔN TẬP. 155 TÀI LIỆU THAM KHẢO. 157 IV HƯỚNG DẪN HƯỚNG DẪN MÔ TẢ MÔN HỌC Lập trình C# trên Windows là một trong những môn học nhằm cung cấp kiến thức cơ bản cho những ai muốn xây dựng được ứng dụng trên môi trường trên hệ điều hanh Windows. Môn học này cung cấp những kiến thức cơ bản, tổng quan về công nghệ mới của Microsoft: .Net Framework, lập trình hướng đối tượng trên .Net, cũng như giới thiệu bộ thư viện .Net mà cung cấp sẵn (LINQ, Entity framework…), sinh viên có thể tạo giao diện ứng dụng, lẫn kết nối các hệ cơ sở dữ liệu.
Từ đó sinh viên có thể bước đầu có thể xây dựng những ứng dụng tin học hóa, hỗ trợ các doanh nghiệp trong việc quản lý hàng hóa, nhân sự, mua bán, v. NỘI DUNG MÔN HỌC Bài 1.NET và C#: Bài này cung cấp cho học viên khái niệm về chương trình nền tảng cho cho công nghệ .NET, CLR, CTS, CLS, MSIL, tập hợp class library thường dung, quản lý sự thực thi của các chương trình. Ngôn ngữ C#: Bài này giới thiệu tổng quan về ngôn ngữ C#, đặc điểm ngôn ngữ, quá trình biên dịch, cấu trúc của một chương trình C#, các kiểu dữ liệu, lập trình với vòng lặp, phân nhánh, mảng dữ liệu, các loại tham số: ref, out, param. Giúp học viên bước đầu làm quen với kiến thức cơ bản của ngôn ngữ C#, xây xây dựng chương trình C# đơn giản đầu tiên.
Lớp và giao diện: Bài này tập trung cung cấp kiến thức về lập trình hướng đối tượng, tìm hiểu tính đa hình trên ngôn ngữ C#. Giúp học viên mô tả được các đối tượng trong thế giới thực, xây dựng các lớp đối tượng với các đặc tính dữ liệu và hành vi. Cơ chế delegate & event: Giới thiệu event-handling model của C#. Giới thiệu các đặc điểm, và cài đặt của ủy thác (delegate) và sự kiện (event).
Giúp học viên nắm được cơ chế lập trình sự kiện trên Windows, và các đối tượng lắng nghe sự kiện sẽ thực hiện ủy thác (delegate) như thế nào khi publisher dispatch sự kiện. LINQ: Giới thiệu truy vấn LINQ trong C#. Giúp học viên nắm được cách sử dụng danh sách truy vấn LINQ, Việc hiểu rõ Linq cũng giúp nắm bắt được những HƯỚNG DẪN V khái niệm về lập trình hàm (Functional programming), nhằm tận dụng được hết sức mạnh mà C# và .NET mang lại. Bài 6: Windows Form.
Giới thiệu lập trình ứng dụng với giao diện đồ họa (GUI) trên Windows. Giúp học viên hiểu rõ cấu trúc, thành phần của một ứng dụng GUI, làm quen với các lớp thư viện trong System.Form, làm quen với giao diện kéo thả, xây dựng ứng dụng desktop đầu tiên. Bài 7: Windows Controls: Tổng quan về Windows controls: Properties, Methods and Event của control. Giúp học viên nẳm rõ các thuộc tính, hành vi, và sự kiện của windows control, từ đó xây dựng ứng dụng giao diện người dùng.Net: Lập trình cơ sở dữ liệu trên.
Bài 9: Data Binding. Giúp học viên kết nối dữ liệu với các đối tượng có giao diện như DataGrid, ComboBox,. Từ đó xây dựng nên ứng dụng hoàn chỉnh. Bài 10: Entity FrameWork (EF).
Giúp học viên lập trình cơ sở dữ liệu bằng EF. Đặc trưng là mô hình code first với hướng tiếp cận có sẵn cơ sở dữ liệu. KIẾN THỨC TIỀN ĐỀ Môn học Lập trinh C# trên Windows đòi hỏi sinh viên có nền tảng về Lập trình C, và lập trình hướng đối tượng. YÊU CẦU MÔN HỌC Người học phải dự học đầy đủ các buổi lên lớp và làm bài tập đầy đủ ở nhà.
CÁCH TIẾP NHẬN NỘI DUNG MÔN HỌC Để học tốt môn này, người học cần ôn tập các bài đã học, trả lời các câu hỏi và làm đầy đủ bài tập; đọc trước bài mới và tìm thêm các thông tin liên quan đến bài học. Đối với mỗi bài học, người học đọc trước mục tiêu và tóm tắt bài học, sau đó đọc nội dung bài học. Kết thúc mỗi ý của bài học, người đọc trả lời câu hỏi ôn tập và kết thúc toàn bộ bài học, người đọc làm các bài tập. PHƯƠNG PHÁP ĐÁNH GIÁ MÔN HỌC VI HƯỚNG DẪN Môn học được đánh giá gồm: Điểm thực hành (30%): Hình thức thi thực hành, phù hợp với quy chế đào tạo và tình hình thực tế tại nơi tổ chức học tập.
Điểm quá trình (20%): Hình thức và cách đánh giá do giảng viên dạy lý thuyết quyết định được phê duyệt của bộ môn. Điểm thi cuối kỳ (50%): Hình thức làm đồ án môn học và chấm thi vấn đáp dựa trên nội dung đồ án môn học kết hợp với lý thuyết trong các bài học. Danh sách đồ án do giảng viên quyết định được bộ môn kiểm duyệt và cung cấp vào đầu khóa học. BÀI 1: TỔNG QUAN VỀ .NET 1 BÀI 1: TỔNG QUAN VỀ .NET Sau khi học xong bài này, học viên có thể: - Hiểu rõ nền tảng .NET Framework, CLR, CTS, CLS, MSI, Garbage collection, Namespace - Kiến trúc .Net Framework - Quá trình biên dịch CT C# - Namespace.1 Tổng quan 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, chữ Framework có nghĩa là khung hay khung cảnh trong đó ta dùng những hạ tầng cơ sở, theo một qui ước nhất định để công việc được trôi chảy. - 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 dựa trên nền tảng. Nếu không có IDE chúng ta cũng có thể dùng một trình soạn thảo ví như Notepad hay bất cứ trình soạn thảo văn bản nào và sử dụng command line để biên dịch và thực thi, tuy nhiên việc này mất nhiều thời gian. Tốt nhất là chúng ta dùng IDE phát triển các ứng dụng, và cũng là cách dễ sử dụng nhất.
- Thành phần Framework là quan trọng nhất .NET là cốt lõi và tinh hoa của môi trường, còn IDE chỉ là công cụ để phát triển dựa trên nền tảng đó thôi.NET toàn bộ các ngôn ngữ C#, Visual C++ hay Visual Basic.NET đều dùng cùng một IDE. 2 BÀI 1: TỔNG QUAN VỀ .NET Tóm lại Microsoft .NET là nền tảng cho việc xây dựng và thực thi các ứng dụng phân tán thế hệ kế tiếp.Bao gồm các ứng dụng từ client đến server và các dịch vụ khác. Một số tính năng của Microsoft .NET cho phép những nhà phát triển sử dụng như sau: - 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 XML (Extensible Markup Language - Ngôn ngữ đánh dấu mở rộng), một chuẩn trao đổi dữ liệu trên internet. - 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ả.2 Lịch sử hình thành Đầu năm 1998, sau khi hoàn tất phiên bản Version 4 của Internet Information Server (IIS), các đội ngũ lập trình ở Microsoft nhận thấy họ còn rất nhiều sáng kiến để kiện toàn IIS. Họ bắt đầu xây dựng một kiến trúc mới trên nền tảng ý tưởng đó và đặt tên là Next Generation Windows Services (NGWS). Sau khi Visual Basic được trình làng vào cuối 1998, dự án kế tiếp mang tên Visual Studio 7 được xác nhập vào NGWS.
Đội ngũ COM+/MTS góp vào một bộ runtime chung cho tất cả ngôn ngữ lập trình chung trong Visual Studio, và tham vọng của họ cung cấp cho các ngôn ngữ lập trình của các công ty khác dùng chung luôn. Công việc này được xúc tiến một cách hoàn toàn bí mật mãi cho đến hội nghị Professional Developers’ Conference ở Orlado vào tháng 7/2000. Đến tháng 11/2000 thì Microsoft đa phát hành bản Beta 1 của .NET gồm 3 đĩa CD. Tính đến lúc này thì Microsoft đã làm việc với .NET gần 3 năm rồi, do đó bản Beta 1 này tương đối vững chắc.NET mang dáng dấp của những sáng kiến đã được áp dụng trước đây như p-code trong UCSD Pascal cho đến Java Virtual Machine.
Có điều là Microsoft góp nhặt những sáng kiến của người khác, kết hợp với sáng kiến của chính mình để làm nên một sản BÀI 1: TỔNG QUAN VỀ .NET 3 phẩm hoàn chỉnh từ bên trong lẫn bên ngoài. Hiện tại Microsoft đã công bố các phiên bản release của .3 Quá trình phát triển Ngày 12/2/2002 đánh dấu bước quan trọng đầu tiên trong “cuộc đời” của .NET Framework, khi phiên bản 1.