TÌM HIỂU NGÔN NGỮ C# VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA

20 8 0
TÌM HIỂU NGÔN NGỮ C# VÀ  VIẾT MỘT ỨNG DỤNG MINH HỌA

Đ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

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM PHẠM VĂN VIỆT - TRƯƠNG LẬP VĨ TÌM HIỂU NGƠN NGỮ C# VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA ĐỒ ÁN TỐT NGIỆP GIÁO VIÊN HƯỚNG DẪN NGUYỄN TẤN TRẦN MINH KHANG TP HCM 2002 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM PHẠM VĂN VIỆT - TRƯƠNG LẬP VĨ TÌM HIỂU NGÔN NGỮ C# VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA GIÁO VIÊN HƯỚNG DẪN NGUYỄN TẤN TRẦN MINH KHANG TP HCM 2002 Lời cám ơn Để hồn tất đồ án này, trước tiên phải kể đến công sức thầy Nguyễn Tấn Trần Minh Khang Chúng em kính lời cảm ơn đến thầy tận tình hướng dẫn giúp đỡ thời gian thực đồ án Chúng em xin tỏ lòng biết ơn sâu sắc gia đình động viên, tạo điều kiện để thực tốt đồ án Xin cám ơn cha, mẹ, anh, chị, em! Chúng em xin chân thành cảm ơn đến thầy cô khoa Công nghệ thông tin trường Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh truyền đạt kiến thức, kinh nghiệm quí báu cho chúng em trình học tập trường Chúng em xin chân thành cảm ơn đến bạn bè giúp đỡ tài liệu, trao đổi học thuật thực đồ án Xin gởi lời cảm ơn đến bạn Hồ Ngọc Huy, Trần Thế Anh, Bùi Thanh Tuấn Thành phố Hồ Chí Minh, ngày 03 tháng năm 2002 Sinh viên Phạm Văn Việt Trương Lập Vĩ Mục lục Lời cám ơn .3 Mục lục Tóm tắt Phần Tìm hiểu ngơn ngữ C# .1 Chương C# Net Framework 1.1 Nền tảng NET 1.2 NET Framework .3 1.3 Biên dịch ngôn ngữ trung gian (MSIL) .4 1.4 Ngôn ngữ C# Chương Khởi đầu 2.1 Lớp, đối tượng kiểu .6 2.2 Phát triển “Hello World” Chương Những sở ngôn ngữ C# 12 3.1 Các kiểu 12 3.2 Biến 14 3.3 Biểu thức 16 3.4 Khoảng trắng 16 3.5 Câu lệnh 16 3.6 Toán tử .19 3.7 Tạo vùng tên 21 3.8 Chỉ thị tiền xử lý 22 Chương Lớp đối tượng .24 4.1 Định nghĩa lớp 24 4.2 Tạo đối tượng 25 4.3 Sử dụng thành viên tĩnh .27 4.4 Hủy đối tượng 29 4.5 Truyền tham số .30 4.6 Nạp chồng phương thức hàm dựng .32 4.7 Đóng gói liệu với property 33 Chương Thừa kế Đa hình 35 5.1 Đặc biệt hoá tổng quát hoá 35 5.2 Sự kế thừa .35 5.3 Đa hình .37 5.4 Lớp trừu tượng 38 5.5 Lớp gốc tất lớp: Object 39 5.6 Kiểu Boxing Unboxing .40 5.7 Lớp lồng 42 Chương Nạp chồng toán tử 44 6.1 Cách dùng từ khoá operator .44 6.2 Cách hổ trợ ngôn ngữ Net khác 44 6.3 Sự hữu ích tốn tử .44 6.4 Các tốn tử logic hai ngơi 45 6.5 Toán tử so sánh 45 6.6 Toán tử chuyển đổi kiểu (ép kiểu) 45 Chương Cấu trúc 48 7.1 Định nghĩa cấu trúc 48 7.2 Cách tạo cấu trúc 49 Chương Giao diện 50 8.1 Cài đặt giao diện .50 8.2 Truy xuất phương thức giao diện 52 8.3 Nạp chồng phần cài đặt giao diện 54 8.4 Thực giao diện cách tường minh 55 Chương Array, Indexer, and Collection 58 9.1 Mảng (Array) 58 9.2 Câu lệnh foreach 59 9.3 Indexers 62 9.4 Các giao diện túi chứa 65 9.5 Array Lists 65 9.6 Hàng đợi 65 9.7 Stacks .66 9.8 Dictionary .66 Chương 10 Chuỗi .67 10.1 Tạo chuỗi 67 10.2 Phương thức ToString() 67 10.3 Thao tác chuỗi 68 10.4 Thao tác chuỗi động .70 Chương 11 Quản lý lỗi .72 11.1 Ném bắt biệt lệ 73 11.2 Đối tượng Exception 80 11.3 Các biệt lệ tự tạo 82 11.4 Ném biệt lệ lần 83 Chương 12 Delegate Event 87 12.1 Delegate (ủy thác, ủy quyền) 87 12.2 Event (Sự kiện) 101 Chương 13 Lập trình với C# 109 13.1 Ứng dụng Windows với Windows Form 109 Chương 14 Truy cập liệu với ADO.NET 144 14.1 Cơ sở liệu ngôn ngữ truy vấn SQL 144 14.2 Một số loại kết nối sử dụng 144 14.3 Kiến trúc ADO.NET 145 14.4 Mơ hình đối tượng ADO.NET .146 14.5 Trình cung cấp liệu (.NET Data Providers) 148 14.6 Khởi với ADO.NET 148 14.7 Sử dụng trình cung cấp liệu quản lý 151 14.8 Làm việc với điều khiển kết buộc liệu .152 14.9 Thay đổi ghi sở liệu 161 Chương 15 Ứng dụng Web với Web Forms 173 1.1 Tìm hiểu Web Forms 173 15.1 Các kiện Web Forms 174 15.2 Hiển thị chuỗi lên trang 175 15.3 Điều khiển xác nhận hợp 178 15.4 Một số ví dụ mẫu minh họa 179 Chương 16 Các dịch vụ Web 192 Chương 17 Assemblies Versioning 196 17.1 Tập tin PE 196 17.2 Metadata .196 17.3 Ranh giới an ninh 196 17.4 Số hiệu phiên (Versioning) 196 17.5 Manifest 196 17.6 Đa Module Assembly 197 17.7 Assembly nội (private assembly) 198 17.8 Assembly chia sẻ (shared assembly) 198 Chương 18 Attributes Reflection 200 18.1 Attributes 200 18.2 Attribute mặc định (intrinsic attributes) .200 18.3 Attribute lập trình viên tạo 201 18.4 Reflection .203 Chương 19 Marshaling Remoting .204 19.1 Miền Ứng Dụng (Application Domains) .204 19.2 Context 206 19.3 Remoting 208 Chương 20 Thread Sự Đồng Bộ 215 20.1 Thread 215 20.2 Đồng hóa (Synchronization) 216 20.3 Race condition DeadLock .221 Chương 21 Luồng liệu 223 21.1 Tập tin thư mục .223 21.2 Đọc ghi liệu 230 21.3 Bất đồng nhập xuất 235 21.4 Serialization 238 21.5 Isolate Storage 244 Chương 22 Lập trình NET COM .246 22.1 P/Invoke .246 22.2 Con trỏ 248 Phần Xây dựng ứng dụng minh họa 250 Chương 23 Website dạy học ngôn ngữ C# 251 23.1 Hiện trạng yêu cầu 251 23.2 Phân tích hướng đối tượng 258 23.3 Thiết kế hướng đối tượng 262 Tóm tắt Đề tài tập trung tìm hiểu tồn khái niệm liên quan đến ngơn ngữ C# Bởi C# Microsoft phát triển thành phần khung ứng dụng NET Framework hướng Internet nên đề tài bao gồm hai phần sau: Phần 1: Tìm hiểu ngơn ngữ C# Việc tìm hiểu bao gồm kiến thức tảng công nghệ NET Framework, chuẩn bị cho khái niệm liên quan C# NET Framework Sau tìm hiểu cú pháp ngơn ngữ này, bao gồm tồn tập lệnh, từ khóa, khái niệm lập trình hướng đối tượng theo C#, hỗ trợ lập trình hướng component Sau cách lập trình C# với ứng dụng Window cho máy để bàn C# với công nghệ đại ASP.NET ADO.NET, XML cho lập trình Web Phần 2: Xây dựng ứng dụng Phần báo cáo ứng dụng minh họa cho việc tìm hiểu Tên ứng dụng Xây dựng Website dạy học C# Đây ứng dụng Web cài đặt ngôn ngữ C# ASP.NET Trong ASP.NET dùng để xây dựng giao diện tương tác với người dùng; cịn C# ngơn ngữ lập trình bên Ứng dụng có thao tác sở liệu (Microsoft SQL Server) thơng quan mơ hình ADO.NET Phần Tìm hiểu ngơn ngữ C# C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Chương C# Net Framework Mục tiêu C# cung cấp ngơn ngữ lập trình đơn giản, an toàn, đại, hướng đối tượng, đặt trọng tâm vào Internet, có khả thực thi cao cho mơi trường NET C# ngơn ngữ mới, tích hợp tinh hoa ba thập kỷ phát triển ngơn ngữ lập trình Ta dể dàng thầy C# có đặc trưng quen thuộc Java, C++, Visual Basic, … Đề tài đặt trọng tâm giới thiệu ngôn ngữ C# cách dùng cơng cụ lập trình tảng NET Với ngơn ngữ C++, học ta không cần quan tâm đến môi trường thực thi Với ngôn ngữ C#, ta học để tạo ứng dụng NET, lơ ý bỏ lỡ quan điểm ngơn ngữ Do đó, đề tài xét C# tập trung ngữ cảnh cụ thể tảng NET Microsoft ứng dụng máy tính để bàn ứng dụng Internet Chương trình bày chung hai phần ngôn ngữ C# tảng NET, bao gồm khung ứng dụng NET (.NET Framework) 1.1 Nền tảng NET Khi Microsoft công bố C# vào tháng năm 2000, việc khánh thành phần số nhiều kiện mà tảng Net công công bố Nền tảng Net bô khung phát triển ứng dụng mới, cung cấp giao diện lập trình ứng dụng (Application Programming Interface - API) mẽ cho dịch vụ hệ điều hành Windows, cụ thể Windows 2000, mang lại nhiều kỹ thuật khác bật Microsoft suốt từ năm 90 Trong số có dịch vụ COM+, công nghệ ASP, XML thiết kế hướng đối tượng, hỗ trợ giao thức dịch vụ web SOAP, WSDL UDDL với trọng tâm Internet, tất tích hợp kiến trúc DNA Nền tảng NET bao gồm bốn nhóm sau: Một tập ngôn ngữ, bao gồm C# Visual Basic Net; tập công cụ phát triển bao gồm Visual Studio Net; tập đầy đủ thư viện phục vụ cho việc xây dựng ứng dụng web, dịch vụ web ứng dụng Windows; cịn có CLR - Common Language Runtime: (ngôn ngữ thực thi dùng chung) để thực thi đối tượng xây dựng bơ khung Một tập Server Xí nghiệp Net SQL Server 2000 Exchange 2000, BizTalk 2000, … chúng cung cấp chức cho việc lưu trữ liệu quan hệ, thư điện tử, thương mại điện tử B2B, … C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Các dịch vụ web thương mại miễn phí, vừa cơng bố gần đậy dự án Hailstorm; nhà phát triển dùng dịch vụ để xây dựng ứng dụng đòi hỏi tri thức định danh người dùng… .NET cho thiết bị PC điện thoại (cell phone), thiết bị game 1.2 NET Framework Net hỗ trợ tích hợp ngơn ngữ, tức ta kế thừa lớp, bắt biệt lệ, đa hình thơng qua nhiều ngơn ngữ .NET Framework thực việc nhờ vào đặc tả Common Type System - CTS (hệ thống kiểu chung) mà tất thành phần Net tuân theo Ví dụ, thứ Net đối tượng, thừa kế từ lớp gốc System.Object Ngồi Net cịn bao gồm Common Language Specification - CLS (đặc tả ngơn ngữ chung) Nó cung cấp qui tắc mà ngôn ngữ muốn tích hợp phải thỏa mãn CLS yêu cầu tối thiểu ngơn ngữ hỗ trợ Net Trình biên dịch tuân theo CLS tạo đối tượng tương hợp với đối tượng khác Bộ thư viện lớp khung ứng dụng (Framework Class Library - FCL) dùng ngơn ngữ tuân theo CLS .NET Framework nằm tầng hệ điều hành (bất kỳ hệ điều hành không Windows) .NET Framework bao bao gồm: • Bốn ngơn ngữ thức: C#, VB.Net, C++, Jscript.NET • Common Language Runtime - CLR, tảng hướng đối tượng cho phát triển ứng dụng Windows web mà ngơn ngữ chia sẻ sử dụng • Bộ thư viện Framework Class Library - FCL Hình 1-1 Kiến trúc khung ứng dụng Net C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Thành phần quan trọng NET Framework CLR, cung cấp môi trường cho ứng dụng thực thi, CLR máy ảo, tương tự máy ảo Java CLR kích hoạt đối tượng, thực kiểm tra bảo mật, cấp phát nhớ, thực thi thu dọn chúng Trong Hình 1-1 tầng CLR bao gồm: • Các lớp sở • Các lớp liệu XML • Các lớp cho dịch vụ web, web form, Windows form Các lớp gọi chung FCL, Framework Class Library, cung cấp API hướng đối tượng cho tất chức NET Framework (hơn 5000 lớp) Các lớp sở tương tự với lớp Java Các lớp hỗ trợ thao tác nhập xuất, thao tác chuổi, văn bản, quản lý bảo mật, truyền thơng mạng, quản lý tiểu trình chức tổng hợp khác … Trên mức lớp liệu XML Lớp liệu hỗ trợ việc thao tác liệu sở liệu Các lớp bao gồm lớp SQL (Structure Query Language: ngơn ngữ truy vấn có cấu trúc) cho phép ta thao tác liệu thông qua giao tiếp SQL chuẩn Ngồi cịn tập lớp gọi ADO.Net cho phép thao tác liệu Lớp XML hỗ trợ thao tác liệu XML, tìm kiếm diễn dịch XML Trên lớp liệu XML lớp hỗ trợ xây dựng ứng dụng Windows (Windows forms), ứng dụng Web (Web forms) dịch vụ Web (Web services) 1.3 Biên dịch ngôn ngữ trung gian (MSIL) Với NET chương trình khơng biên dịch thành tập tin thực thi, mà biên dịch thành ngôn ngữ trung gian (MSIL - Microsoft Intermediate Language, viết tắt IL), sau chúng CLR thực thi Các tập tin IL biên dịch từ C# đồng với tập tin IL biên dịch từ ngôn ngữ Net khác Khi biên dịch dự án, mã nguồn C# chuyển thành tập tin IL lưu đĩa Khi chạy chương trình IL biên dịch (hay thơng dịch) lần trình Just In Time - JIT, kết mã máy xử lý thực thi Trình biên dịch JIT chạy có yêu cầu Khi phương thức gọi, JIT phân tích IL sinh mã máy tối ưu cho loại máy JIT nhận biết mã nguồn biên dịch chưa, để chạy ứng dụng hay phải biên dịch lại CLS có nghĩa ngơn ngữ Net sinh mã IL Các đối tượng tạo theo ngôn ngữ truy cập thừa kế đối tượng ngơn ngữ khác Vì ta tạo lớp sở VB.Net thừa kế từ C# C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang 1.4 Ngôn ngữ C# C# ngôn ngữ đơn giản, với khoảng 80 từ khoá mười kiểu liệu dựng sẵn, C# có tính diễn đạt cao C# hỗ trợ lập trình có cấu trúc, hướng đối tượng, hướng thành phần (component oriented) Trọng tâm ngôn ngữ hướng đối tượng lớp Lớp định nghĩa kiểu liệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải C# có từ khố dành cho việc khai báo lớp, phương thức, thuộc tính (property) C# hỗ trợ đầy đủ khái niệm trụ cột lập trình hướng đối tượng: đóng gói, thừa kế, đa hình Định nghĩa lớp C# khơng địi hỏi tách rời tập tin tiêu đề với tập tin cài đặt C++ Hơn thế, C# hỗ trợ kiểu sưu liệu mới, cho phép sưu liệu trực tiếp tập tin mã nguồn Đến biên dịch tạo tập tin sưu liệu theo định dạng XML C# hỗ trợ khái niệm giao diện, interfaces (tương tự Java) Một lớp kế thừa lớp cha cài đặt nhiều giao diện C# có kiểu cấu trúc, struct (không giống C++) Cấu trúc kiểu hạng nhẹ bị giới hạn.Cấu trúc thừa kế lớp hay kế thừa cài đặt giao diện C# cung cấp đặc trưng lập trình hướng thành phần property, kiện dẫn hướng khai báo (được gọi attribute) Lập trình hướng component hỗ trợ CLR thông qua siêu liệu (metadata) Siêu liệu mô tả lớp bao gồm phương thức thuộc tính, thơng tin bảo mật … Assembly tập hợp tập tin mà theo cách nhìn lập trình viên thư viện liên kết động (DLL) hay tập tin thực thi (EXE) Trong NET assembly đon vị việc tái sử dụng, xác định phiên bản, bảo mật, phân phối CLR cung cấp số lớp để thao tác với assembly C# cho truy cập trực tiếp nhớ dùng trỏ kiểu C++, vùng mã xem khơng an tồn CLR khơng thực thi việc thu dọn rác tự động đối tượng tham chiếu trỏ lập trình viên tự giải phóng Khởi đầu Gvhd: Nguyễn Tấn Trần Minh Khang Chương Khởi đầu Chương ta tạo, biên dịch chạy chương trình “Hello World” ngơn ngữ C# Phân tích ngắn gọn chương trình để giới thiệu đặc trưng yếu ngơn ngữ C# Ví dụ 2-1 Chương trình Hello World class HelloWorld { static void Main( ) { // sử dụng đối tượng console hệ thống System.Console.WriteLine("Hello World"); } } Sau biên dịch chạy HelloWorld, kết dòng chữ “Hello World” hiển thị hình 2.1 Lớp, đối tượng kiểu Bản chất lập trình hướng đối tượng tạo kiểu Một kiểu biểu diễn vật Giống với ngơn ngữ lập trình hướng đối tượng khác, kiểu C# định nghĩa từ khoá class (và gọi lớp) thể lớp gọi đối tượng Xem Ví dụ 2-1 ta thấy cách khai báo lớp HelloWorld Ta thấy cách khai báo nội dung lớp hoàn toàn giống với ngơn ngữ Java C++, có khác cuối khai báo lớp không cần dấu “;” 2.1.1 Phương thức Các hành vi lớp gọi phương thức thành viên (gọi tắt phương thức) lớp Một phương thức hàm (phương thức thành viên gọi hàm thành viên) Các phương thức định nghĩa mà lớp làm Cách khai báo, nội dung cách sử dụng phương thức giống hoàn toàn với Java C++ Trong ví dụ có phương thức đặc biệt phương thức Main() (như hàm main() C++) phương thức bắt đầu ứng dụng C#, trả kiểu void hay int Mỗi chương trình (assembly) có nhiều phương thức Main phải định phương thức Main() bắt đầu chương trình Khởi đầu Gvhd: Nguyễn Tấn Trần Minh Khang 2.1.2 Các ghi C# có ba kiểu ghi có hai kiểu quen thuộc C++ dùng: "//" "/* … */" Ngồi cịn kiểu ghi trình bày chương kế Ví dụ 2-2 Hai hình thức ghi C# class HelloWorld { static void Main( ) // Đây ghi dòng { /* Bắt đầu ghi nhiều dòng Vẫn ghi Kết thúc ghi */ System.Console.WriteLine("Hello World"); } } 2.1.3 Ứng dụng dạng console “Hello World” ứng dụng console Các ứng dụng dạng thường khơng có giao diện người dùng đồ họa Các nhập xuất thơng qua console chuẩn (dạng dịng lệnh DOS) Trong ví dụ trên, phương thức Main() viết hình dịng “Hello World” Do hình quản lý đối tượng Console, đối tượng có phương thức WriteLine() cho phép đặt dòng chữ lên hình Để gọi phương thức ta dùng tốn tử “.”, sau: Console.WriteLine(…) 2.1.4 Namespaces - Vùng tên Console nhiều (cả ngàn) lớp thư viện NET Mỗi lớp có tên có hàng ngàn tên mà lập trình viên phải nhớ phải tra cứu sử dụng Vấn đề phải giảm bớt lượng tên phải nhớ Ngoài vấn đề phải nhớ nhiều tên ra, cịn nhận xét sau: số lớp có mối liên hệ mặt ngữ nghĩa, ví dụ lớp Stack, Queue, Hashtable … lớp cài đặt cấu trúc liệu túi chứa Như nhóm lớp thành nhóm thay phải nhớ tên lớp lập trình viên cần nhớ tên nhóm, sau thực việc tra cứu tên lớp nhóm nhanh chóng Nhóm vùng tên C# Một vùng tên có nhiều lớp vùng tên khác Nếu vùng tên A nằm vùng tên B, ta nói vùng tên A vùng tên vùng tên B Khi lớp vùng tên A ghi sau: B.A.Tên_lớp_trong_vùng_tên_A System vùng tên chứa nhiều lớp hữu ích cho việc giao tiếp với hệ thống lớp công dụng chung lớp Console, Math, Exception….Trong ví dụ HelloWorld trên, đối tượng Console dùng sau: System.Console.WriteLine("Hello World"); Khởi đầu Gvhd: Nguyễn Tấn Trần Minh Khang 2.1.5 Toán tử chấm “.” Như Ví dụ 2-1 tốn tử chấm dùng để truy suất liệu phương thức lớp (như Console.WriteLine()), đồng thời dùng để định tên lóp vùng tên (như System.Console) Toán tử dấu chấm dùng để truy xuất vùng tên vùng tên Vùng_tên.Vùng_tên_con.Vùng_tên_con_con 2.1.6 Từ khoá using Nếu chương trình sử dụng nhiều lần phương thức Console.WriteLine, từ System phải viết nhiều lần Điều khiến lập trình viên nhàm chán Ta khai báo chương trình có sử dụng vùng tên System, sau ta dùng lớp vùng tên System mà khơng cần phải có từ System trước Ví dụ 2-3 Từ khóa using // Khai báo chương trình có sử dụng vùng tên System using System; class HelloWorld { static void Main( ) { // Console thuộc vùng tên System Console.WriteLine("Hello World"); } } 2.1.7 Phân biệt hoa thường Ngôn ngữ C# phân biệt chữ hoa thường giống Java hay C++ (khơng VB) Ví dụ WriteLine khác với writeLine hai khác với WRITELINE Tên biến, hàm, … phân biệt chữ hoa chữ thường 2.1.8 Từ khố static Trong Ví dụ 2-1 phương thức Main() khai báo kiểu trả void dùng từ khoá static Từ khoá static cho biết ta gọi phương thức Main() mà không cần tạo đối tượng kiểu HelloWorld 2.2 Phát triển “Hello World” Có hai cách để viết, biên dịch chạy chương trình HelloWorld dùng mơi trưởng phát triển tích hợp (IDE) Visual Studio Net hay viết trình soạn thảo văn biên dịch dịng lệnh IDE Vs.Net dễ dùng Do đó, đề tài trình bày theo hướng làm việc IDE Visual Studio Net Khởi đầu Gvhd: Nguyễn Tấn Trần Minh Khang 2.2.1 Soạn thảo “Hello World” Để tạo chương trình “Hello World” IDE, ta chọn Visual Studio Net từ thực đơn Tiếp theo hình IDE chọn File > New > Project từ thực đơn, theo xuất cửa sổ sau: Hình 2-1 Tạo ứng dụng console VS.Net Để tạo chương trình “Hello World” ta chọn Visual C# Project > Console Application, điền HelloWorld ô Name, chọn đường dẫn nhấn OK Một cửa sổ soạn thảo xuất Khởi đầu Gvhd: Nguyễn Tấn Trần Minh Khang Hình 2-2 Cửa sổ soạn thảo nội dung mã nguồn Vs.Net tự tạo số mã, ta cần chỉnh sửa cho phù hợp với chương trình 2.2.2 Biên dịch chạy “Hello World” Sau đầy đủ mã nguồn ta tiến hành biên dịch chương trình: nhấn “Ctrl–Shift– B” hay chọn Build > Build Solution Kiểm tra xem chương trình có lỗi khơng sổ Output cuối hình Khi biên dịch chương trình lưu lại thành tập tin cs Chạy chương trình “Ctrl–F5” hay chọn Debug > Start Without Debugging 2.2.3 Trình gở rối Visual Studio Net Trình gỡ rối VS.Net mạnh hữu ích Ba kỹ yếu để sử dụng trình gở rối là: • Cách đặt điểm ngắt (breakpoint) chạy điểm ngắt • Làm chạy bước chạy vượt qua phương thức • Làm để quan sát hiệu chỉnh giá trị biến, liệu thành viên, … Cách đơn giản để đặt điểm ngắt bấm chuột trái vào phía lề trái, lên chấm đỏ 10 Khởi đầu Gvhd: Nguyễn Tấn Trần Minh Khang Hình 2-3 Minh họa điểm ngắt Cách dùng trình gở rối hồn tồn giống với trình gở rối VS 6.0 Nó cho phép ta dừng lại vị trí bất kỳ, cho ta kiểm tra giá trị tức thời cách di chuyển chuột đến vị trị biến Ngồi ra, gở rối ta xem giá trị biến thông qua cửa sổ Watch Local Để chạy chế độ gở rối ta chọn Debug Ỉ Start hay nhấn F5, muốn chạy bước ta bấm F11 chạy vượt qua phương thức ta bấm F10 11 Những sở ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Chương Những sở ngôn ngữ C# Trong chương trình bày hệ thống kiểu C#; phân biệt kiểu dựng sẵn (int, long, bool, …) với kiểu người dùng định nghĩa Ngoài ra, chương trình bày cách tạo dùng biến, hằng; giới thiệu kiểu liệt kê, chuỗi, kiểu định danh, biểu thức, câu lệnh Phần hai chương trình bày cấu trúc điều kiện toán tử logic, quan hệ, toán học, … 3.1 Các kiểu C# buộc phải khai báo kiểu đối tượng tạo Khi kiểu khai báo rõ ràng, trình biên dịch giúp ngăn ngừa lỗi cách kiểm tra liệu gán cho đối tượng có hợp lệ khơng, đồng thời cấp phát kích thước nhớ cho đối tượng C# phân thành hai loại: loai liệu dựng sẵn loại người dùng định nghĩa C# chia tập liệu thành hai kiểu: giá trị tham chiếu Biến kiểu giá trị lưu vùng nhớ stack, biến kiểu tham chiếu lưu vùng nhớ heap C# hỗ trợ kiểu trỏ C++, sử dụng Thơng thường trỏ sử dụng làm việc trực tiếp với Win API hay đối tượng COM 3.1.1 Loại liệu định sẳn C# có nhiểu kiểu liệu định sẳn, kiểu ánh xạ đến kiểu hổ trợ CLS (Commom Language Specification), ánh xạ để đảm bảo đối tượng tạo C# khơng khác đối tượng tạo ngơn ngữ NET khác Mỗi kiểu có kích thước cố định liệt kê bảng sau Bảng 3-1 Các kiểu dựng sẵn Kiểu Kích thước (byte) Mơ tả - giá trị Kiểu Net byte Byte Không dấu (0 255) char Char Mã ký thự Unicode bool Boolean true hay false sbyte Sbyte Có dấu (-128 127) short Int16 Có dấu (-32768 32767) ushort Uint16 Khơng dấu (0 65535) int Int32 Có dấu (-2147483647 2147483647) 12

Ngày đăng: 25/01/2022, 14:00

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

Tài liệu liên quan