TẬP ĐOÀN DỆT MAY VIỆT NAM TRƯỜNG CAO ĐẲNG CÔNG NGHỆ TP HCM GIÁO TRÌNH LẬP TRÌNH VISUAL C# Nghề Công nghệ thông tin Trình độ Cao đẳng Ban hành kèm theo Quyết định số /QĐ ngày tháng năm của Trường Cao đ[.]
TẬP ĐỒN DỆT MAY VIỆT NAM TRƯỜNG CAO ĐẲNG CƠNG NGHỆ TP.HCM GIÁO TRÌNH LẬP TRÌNH VISUAL C# Nghề: Cơng nghệ thơng tin Trình độ: Cao đẳng Ban hành kèm theo Quyết định số: /QĐ- ngày ………tháng năm…… Trường Cao đẳng Kinh tế - Kỹ Thuật Vinatex TP HCM TP HỒ CHÍ MINH, NĂM 2018 LƯU HÀNH NỘI BỘ MỤC LỤC Chương 1: MICROSOFT.NET I.GIỚI THIỆU NGÔN NGỮ C# II.CÁC THÀNH PHẦN QUAN TRỌNG TRONG C# 1 CLR (Common Language Runtime) IL (Intermediate Language) Thư viện (Assembly) Các lớp NET Tạo ứng dụng NET sử dụng C# 6.Tạo lưu project console 8.Giao diện ứng dụng Chương CĂN BẢN C# I-KIỂU DỮ LIỆU 1.Kiểu liệu xây dựng sẵn 2.Chọn kiểu liệu 3.Chuyển đổi kiểu liệu II-BIẾN VÀ HẰNG Biến Hằng Kiểu liệt kê Kiểu chuỗi ký tự Định danh Mảng 10 III-BIỂU THỨC 10 IV-KHOẢNG TRẮNG 11 V-Câu lệnh (statement) 11 Phân nhánh khơng có điều kiện 11 Phân nhánh có điều kiện 11 Câu lệnh lặp 14 VI-Toán tử 19 1.Toán tử gán 19 Toán tử toán học 19 Toán tử tăng giảm 19 Toán tử quan hệ 20 Toán tử logic 21 Độ ưu tiên toán tử 21 Tốn tử ba ngơi 22 VII NAMESPACE 22 VIII CÁC CHỈ DẪN BIÊN DỊCH 23 Chương 3MỘT SỐ ĐIỀU KHIỂN TRONG WINFORM 25 I SỬ DỤNG Microsoft Visual Studio 2010 25 Khởi động 25 Màn hình giao diện Windows forms 26 Các thao tác với Form 27 II Các control 29 Label ( TextBox ( ) 29 ) 30 Button ( ) 30 CheckBox ( ) 31 5.Phương thức MessageBox.Show 32 Lệnh dừng chương trình 32 Event (sự kiện) gì? 33 ListBox ( ComboBox ( ) 36 ) 37 10 RadioButton ( ) 38 11 GroupBox ( ) 38 Chương XÂY DỰNG LỚP - ĐỐI TƯỢNG 41 I- ĐỊNH NGHĨA LỚP 41 Định nghĩa lớp 41 Thuộc tính truy cập 43 Tham số phương thức 44 II TẠO ĐỐI TƯỢNG 45 Tạo đối tượng 45 Bộ khởi dựng 45 Khởi tạo biến thành viên 47 Từ khóa this 49 II SỬ DỤNG CÁC THÀNH VIÊN STATIC (static member) 50 Gọi phương thức tĩnh 50 Sử dụng khởi dựng tĩnh (static constructor) 51 3.Sử dụng khởi dựng cục (private) 52 Sử dụng thuộc tính tĩnh 52 IV HỦY ĐỐI TƯỢNG 53 Phương thức Finalize 53 2.Phương thức Dispose 54 3.Phương thức Close 54 V TRUYỀN THAM SỐ 54 Truyền tham chiếu 54 Truyền tham chiếu với biến chưa khởi tạo 56 VI NẠP CHỒNG PHƯƠNG THỨC 58 VII ĐÓNG GÓI DỮ LIỆU VỚI THUỘC TÍNH 61 Truy cập lấy liệu 62 Truy cập thiết lập liệu 63 VIII CẤU TRÚC 63 Làm việc với kiểu cấu trúc 63 Các kiểu cấu trúc phổ biến 63 Khai báo kiểu cấu trúc 64 Tìm hiểu khác lớp cấu trúc 65 Khai báo biến cấu trúc 67 Khởi tạo cấu trúc 67 Sao chép biến cấu trúc 68 8.Lớp Object 69 Chương SỰ KẾ THỪA VÀ ĐA HÌNH 73 I SỰ KẾ THỪA 73 Thực thi kế thừa 73 Gọi phương thức khởi dựng lớp sở 74 Điều khiển truy xuất 75 II ĐA HÌNH 76 Tạo kiểu đa hình 76 Tạo phương thức đa hình 76 Từ khóa new override 78 III LỚP TRỪU TƯỢNG (abstract class) 78 Phương thức trừu tượng 78 Lớp trừu tượng 79 Lớp cô lập (sealed class) 80 IV BOXING UNBOXING 81 Boxing Unboxing liệu 81 Boxing thực ngầm định 81 Unboxing phải thực tường minh 81 V CÁC LỚP LỒNG NHAU 82 VI GIAO DIỆN 83 Chương TOÁN TỬ VÀ CHUYỂN KIỂU 86 I.TOÁN TỬ 86 II QUÁ TẢI TOÁN TỬ 87 III.CHUYỂN KIỂU DO NGƯỜI DÙNG ĐỊNH NGHĨA 89 Chương SỰ ỦY NHIỆM, SỰ KIỆN, VÀ QUẢN LÝ LỖI 91 I.SỰ ỦY NHIỆM (delegate) 91 Khai báo sử dụng delegate 91 II Sự kiện (Event) 92 Khai báo kiện 92 Gán kiện 92 Bỏ gán kiện 92 Tạo kiện 92 III Quản lý lỗi biệt lệ 94 Những lớp biệt lệ lớp sở 94 Những lớp ngoại lệ 94 Đón bắt biệt lệ 94 Thực thi nhiều khối catch 96 Chương CHUỖI, BIỂU THỨC QUY TẮC VÀ TẬP HỢP 98 I SYSTEM.STRING (lớp đối tượng String) 98 Tạo chuỗi 98 Tạo chuỗi dùng phương thức ToString đối tượng 99 Thao tác chuỗi 99 II BIỂU THỨC QUY TẮC 105 III TẬP HỢP 106 Mảng ( Array) 106 2.Mảng đa chiều 110 Danh sách mảng (ArrayList) 112 Một số kiểu tập hợp khác 115 CHƯƠNG TRÌNH MƠN HỌC Tên mơn học: Lập trình visual C# Mã môn học: MH 17 Thời gian thực môn học: 75 giờ; (Lý thuyết: 15 giờ; Thực hành, thí nghiệm, thảo luận, tập: 55 giờ; Kiểm tra: giờ) I Vị trí, tính chất mơn học: - Vị trí: học sau mơn Kỹ thuật lập trình mơn học sở bắt buộc - Tính chất: mơn học chun mơn bắt buộc II Mục tiêu môn học: - Về kiến thức: + Hiểu kiến thức tảng Microsoft NET + Có kiến thức lập trình hướng đối tượng C# + Thao tác với đối tượng Net (Visual C#) - Về kỹ năng: + Có kỹ sử dụng Control + Có kỹ giao diện C# + Có kỹ lập trình hướng đối tượng C# + Có kỹ sử dụng lớp sở NET - Về lực tự chủ trách nhiệm: + Nghiêm túc, thực đầy đủ tập + Có ý thức tích cực tự nghiên cứu nội dung trước đến lớp III Nội dung mơn học: Chương 1: MICROSOFT.NET Mục tiêu: - Trình bày thành phần C# - Thực thao tác Visual C# Nội dung chương: I.GIỚI THIỆU NGÔN NGỮ C# Microsoft Visual C# ngôn ngữ mạnh mẽ đơn giản chủ yếu hướng đến nhà phát triển xây dựng ứng dụng tảng NET Microsoft C# kế thừa đặc trưng tốt ngôn ngữ C++ Microsoft Visual Basic Chương trình biên dịch theo hai bước: − Biên dịch mã nguồn thành IL (Intermediate Language) − Dùng CLR để biên dịch IL thành mã máy theo tảng thích hợp II.CÁC THÀNH PHẦN QUAN TRỌNG TRONG C# CLR (Common Language Runtime) CLR (Common Language Runtime-CLR) môi trường thực việc thực thi ứng dụng IL (Intermediate Language) Mã C# dịch sang IL trước thực thi Sau đặc tính IL: ·Hướng đối tượng dùng giao tiếp ·Sự tách biệt kiểu giá trị kiểu tham chiếu ·Định nghĩa kiểu mạnh Sử dụng thuộc tính ·Quản lý lỗi thơng qua ngoại lệ Thư viện (Assembly) Assembly tập tin chứa mã biên dịch sang NET Nó chứa nhiều tập tin Các assembly chứa siêu liệu (metadata) dùng để mô tả kiểu phương thức Các lớp NET Việc sử dụng thư viện lớp sở sẵn cho phép thao tác nhiều tác vụ sẵn có Windows Chúng ta tạo lớp từ lớp có sẵn thơng qua kế thừa Tạo ứng dụng NET sử dụng C# Các ứng dụng viết C#: ·Ứng dụng ASP.NET ·Ứng dụng WinForm ·Các dịch vụ dựa Windows 6.Tạo lưu project console Bước 1: Khởi động Visual Studio 2010 Start | All Programs | Microsoft Visual Studio 2010 | Microsoft Visual Studio 2010 -1- Bước 2: Vào menu File | New | Project Bước 3: Khai báo * Mặc định: Visual Studio 2010 (Visual Studio NET) tạo tập tin Program.cs chứa namespace tên ChaoMung namespace chứa class tên Program Bước 4: phương thức Main, gõ đoạn mã lệnh sau * Ví dụ: // Xuat man hinh chuoi thong bao 'Chao mung ban den voi C# 2010 ' System.Console.WriteLine("Chao mung ban den voi C# 2010 ") ; System.Console.ReadLine() ; Bước 5: Để chạy chương trình, nhấn F5 -2- 8.Giao diện ứng dụng Cửa sổ project Form Các điều khiển -3- Cửa sổ thuộc tính Chương CĂN BẢN C# Mục tiêu: - Trình bày cấu trúc C# - Viết câu lệnh đơn giản C# - Sử dụng câu lệnh, toán tử, biểu thức, biến C# để viết chương trình đơn giản Nội dung chương: Chương thảo luận hệ thống kiểu liệu, phân biệt kiểu liệu xây dựng sẵn (như int, bool, string…) với kiểu liệu người dùng định nghĩa (lớp hay cấu trúc người lập trình tạo ) Một số khác lập trình tạo sử dụng biến liệu hay đề cập với cấu trúc liệt kê, chuỗi, định danh, biểu thức cậu lệnh Hướng dẫn minh họa việc sử dụng lệnh phân nhánh if, switch, while, while, for, foreach Và toán tử phép gán, phép toán logic, phép toán quan hệ, toán học I-KIỂU DỮ LIỆU C# chia thành hai tập hợp kiểu liệu chính: Kiểu xây dựng sẵn (built- in) mà ngôn ngữ cung cấp cho người lập trình kiểu người dùng định nghĩa (userdefined) người lập trình tạo C# phân tập hợp kiểu liệu thành hai loại: Kiểu liệu giá trị (value) kiểu liệu tham chiếu (reference) − Tất kiểu liệu xây dựng sẵn kiểu liệu giá trị ngoại trừ đối tượng chuỗi − Tất kiểu người dùng định nghĩa ngoại trừ kiểu cấu trúc kiểu liệu tham chiếu 1.Kiểu liệu xây dựng sẵn Bảng sau mô tả số kiểu liệu xây dựng sẵn Kiểu C# Số byte Kiểu NET Mô tả byte Byte Số nguyên dương không dấu từ 0-255 char Char Ký tự Unicode bool Boolean Giá trị logic true/ false sbyte Sbyte Số nguyên có dấu ( từ -128 đến 127) short Int16 ushort Uịnt16 Số nguyên có dấu giá trị từ -32768 đến 32767 Số nguyên không dấu – 65.535 int Int32 Số nguyên có dấu uint Uint32 Số nguyên không dấu – 4.294.967.295 -4- –2.147.483.647 2.147.483.647 float Single double Double decimal Decimal Kiểu dấu chấm động, giá trị xấp xỉ với chữ số có nghĩa Kiểu dấu chấm động có độ xác gấp đơi, giá trị xấp xỉ với 15,16 chữ số có nghĩa Có độ xác đến 28 số giá trị thập phân, dùng tính tốn tài chính, kiểu địi hỏi phải có hậu tố “m” hay “M” theo sau giá trị Chọn kiểu liệu − Kiểu float, double, decimal đưa nhiều mức độ khác kích thước độ xác.Với thao tác số nhỏ kiểu float thích hợp Tuy nhiên lưu ý trình biên dịch ln hiểu số thực số kiểu double trừ khai báo rõ ràng − Để gán số kiểu float số phải có ký tự f theo sau float x = 24f; − Để gán số kiểu Decimal số phải có ký tự m theo sau Decimal x = 24m; − Kiểu liệu ký tự thể ký tự Unicode, bao gồm ký tự đơn giản, ký tự theo mã Unicode ký tự thoát khác bao dấu nháy đơn Ký tự thoát ký tự đặc biệt bao gồm hai ký tự liên tiếp ký tự dấu chéo ‘\’ Ví dụ, \t dấu tab Bảng trình bày ký tự đặc biệt Ký tự Ý nghĩa \’ Dấu nháy đơn \” Dấu nháy kép \\ Dấu chéo \0 Ký tự null \a Alert \b Backspace \f Sang trang form feed \n Dòng \r Đầu dòng \t Tab ngang \v Tab dọc Chuyển đổi kiểu liệu Những đối tượng kiểu liệu chuyển sang đối tượng kiểu liệu khác cách tường minh hay ngầm định Việc chuyển đổi giá trị ngầm định thực cách tự động đảm bảo khơng thơng tin Ví dụ, gán ngầm định số kiểu short (2 -5- byte) vào số kiểu int (4 byte) cách ngầm định Sau gán hoàn tồn khơng liệu giá trị short thuộc int short x = 10; int y = x; // chuyển đổi ngầm định Tuy nhiên, thực chuyển đổi ngược lại, chắn bị thông tin Nếu giá trị số nguyên lớn 32.767 bị cắt chuyển đổi short x; int y = 100; x = y; // Không biên dịch, lỗi !!! Để không bị lỗi phải dùng lệnh gán tường minh, đoạn mã viết lại sau: short x; int y = 500; x = (short) y; //Ép kiểu tường minh II-BIẾN VÀ HẰNG Biến Một biến vùng lưu trữ giá trị với kiểu liệu Biến gán giá trị thay đổi giá trị thực lệnh chương trình Để tạo biến phải khai báo kiểu biến gán cho biến tên Biến khởi tạo giá trị khai báo, hay gán giá trị vào lúc chương trình Ví dụ 3.1: Khởi tạo gán giá trị đến biến Kết quả: Biến phải gán giá trị trước sử dụng v í d ụ : -6- Khi biên dịch đoạn chương trình trình biên dịch C# thơng báo lỗi sau: Use of unassigned local variable ….(sử dụng biến chưa gán giá trị) Hằng − Hằng có giá trị khơng thay đổi suốt chương trình − Hằng phân thành ba loại: giá trị (literal), tên (symbolic constants), kiểu liệu kê (enumerations) • Giá trị hằng: ta có câu lệnh gán sau: x = 100; //Giá trị 100 giá trị • Tên hằng: gán tên cho giá trị dùng từ khóa const cú pháp sau: = ; Ví dụ: const int DoSoi = 100; Một tên phải khởi tạo khai báo, khởi tạo lần suốt chương trình khơng thay đổi Vi dụ: Sử dụng tạo hai tên chứa giá trị nguyên: DoSoi DoDong Kết quả: Kiểu liệt kê Kiểu liệt kê tập hợp tên có giá trị khơng thay đổi (thường gọi danh sách liệt kê) Trong ví dụ trên, có hai có quan hệ với nhau: -7- const int DoDong = 0; const int DoSoi = 100; Do mục đích mở rộng ta mong muốn thêm số số khác vào danh sách trên, sau: const int DoNong = 60; const int DoAm = 40; const int DoNguoi = 20; Các tên điều có ý nghĩa quan hệ với nhau, nói nhiệt độ nước, khai báo cồng kềnh khơng liên kết chặt chẽ cho Thay vào C# cung cấp kiểu liệt kê để giải vấn đề trên: enum NhietDoNuoc { DoDong = 0, DoNguoi = 20, DoAm = 40, DoNong = 60, DoSoi = 100, } Mỗi kiểu liệt kê có kiểu liệu sở, kiểu liệu kiểu liệu nguyên int, short, long Để khai báo kiểu liệt kê ta thực theo cú pháp sau: enum [:kiểu sở] {danh sách }; • Một kiểu liệt kê bắt đầu với từ khóa enum, tiếp sau định danh cho kiểu liệt kê: enum NhietDoNuoc • [kiểu sở] kiểu khai báo cho kiểu liệt kê • {danh sách }: Mỗi kiểu liệt kê tương ứng với giá trị số, phân cách dấu phẩy Ví dụ: Sử dụng kiểu liệt kê để đơn giản chương trình -8- − Chú ý: Nếu không khởi tạo cho thành phần chúng nhận giá trị với thành phần Ta xem thử khai báo sau: enum dayso { ThuNhat, ThuHai, ThuBa = 10, ThuTu } Khi giá trị ThuNhat 0, giá trị ThuHai 1, giá trị ThuBa 10 giá trị ThuTu 11 − Kiểu liệt kê bắt buộc phải thực phép chuyển đổi tường minh gán cho biến : int x = (int) dayso.ThuNhat; Kiểu chuỗi ký tự Kiểu liệu chuỗi lưu giữ mảng ký tự − Để khai báo chuỗi sử dụng từ khoá string: string chuoi; − Để khởi tạo chuỗi ký tự với giá trị hằng: string chuoi = “Xin chao” Định danh Định danh tên mà người lập trình định cho kiểu liệu, phương thức, biến, hằng, hay đối tượng Một định danh phải bắt đầu với ký tự chữ hay dấu gạch dưới, ký tự lại phải ký tự chữ cái, chữ số, dấu gạch Theo qui ước đặt tên Microsoft đề nghị sử dụng cú pháp: − Đặt tên biến: Bắt đầu ký tự thường -9- − Đặt tên hàm hầu hết định danh lại: Bắt đầu ký tự hoa − Các định danh không trùng với từ khoá C# − C# phân biệt ký tự thường ký tự hoa xem hai biến soNguyen soNGUYEN khác Mảng Mảng cấu trúc liệu cấu tạo số biến gọi phần tử mảng Tất phần tử thuộc kiểu liệu Bạn truy xuất phần tử thông qua số Chỉ số bắt đầu Có nhiều loại mảng (array): mảng chiều, mảng nhiều chiều… Cú pháp: kiểu[ ] ; Ví dụ: int[] myIntegers; // mảng kiểu số nguyên string[] myString ; // mảng kiểu chuỗi - Bạn khai báo mảng có chiều dài xác định với từ khố new sau: int[]integers = new int[32]; - Truy xuất thành phần mảng: integers[0] = 35; // phần tử có giá trị 35 integers[31] = 432; // phần tử 32 có giá trị 432 int bien1=integers[10]; //gán giá trị phần tử thứ 11 cho bien1 Bạn khai báo sau: int[] integers; integers = new int[32]; string[] myArray = {"phần tử 1", " phần tử 2", " phần tử 3"}; Chương trình minh họa dùng mảng chiều: III-BIỂU THỨC Những câu lệnh thực việc đánh giá giá trị gọi biểu thức − Một phép gán giá trị cho biến biểu thức: var1 = 24; Do var1 = 24 biểu thức định giá trị 24 nên biểu thức xem phần bên phải biểu thức gán khác: var2 = var1 = 24; -10- Lệnh thực từ bên phải sang biến var1 nhận giá trị 24 tiếp sau var2 nhận giá trị 24 Do hai biến nhận giá trị 24 Có thể dùng lệnh để khởi tạo nhiều biến có giá trị như: a = b = c = d = 24; − Câu lệnh kết thúc với dấu chấm phẩy ‘;’ Do viết câu lệnh nhiều dịng, dịng nhiều câu lệnh thiết hai câu lệnh phải cách dấu chấm phẩy IV-KHOẢNG TRẮNG C# bỏ qua tất khoảng trắng thừa, viết sau: var1 = 24; hay var1 = 24 ; V-Câu lệnh (statement) Mỗi câu lệnh phải kết thúc với dấu chấm phẩy, ví dụ như: int x; // câu lệnh x = 32; // câu lệnh khác int y =x; // câu lệnh Những câu lệnh xử lý theo thứ tự câu lệnh lệnh cuối cùng, nhiên cho trường hợp câu lệnh khơng phân nhánh Có hai loại câu lệnh phân nhánh C# : phân nhánh khơng có điều kiện phân nhánh có điều kiện Ngồi cịn có câu lệnh lặp hay vòng lặp Bao gồm lệnh lặp for, while, do, in, each Phân nhánh khơng có điều kiện Phân nhánh khơng có điều kiện tạo hai cách: gọi hàm dùng từ khoá phân nhánh khơng điều kiện 1.1 Gọi hàm Khi trình biên dịch xử lý đến tên hàm, ngưng thực hàm thời mà bắt đầu phân nhánh dể tạo gọi hàm Sau hàm vừa tạo thực xong trả giá trị trình biên dịch tiếp tục thực dòng lệnh tiếp sau hàm ban đầu 1.2 Từ khố phân nhánh khơng điều kiện Để thực phân nhánh ta gọi từ khóa sau: goto, break, continue, return, throw Sẽ đề cập cuối chương Phân nhánh có điều kiện 2.1 Câu lệnh if else Câu lệnh phân nhánh if else dựa điều kiện Điều kiện biểu thức kiểm tra giá trị bắt đầu gặp câu lệnh Nếu điều kiện -11- kiểm tra đúng, câu lệnh hay khối câu lệnh bên thân câu lệnh if thực Trong câu điều kiện if else else phần tùy chọn Các câu lệnh bên thân else thực điều kiện if sai Do câu lệnh đầy đủ if else dùng có hai if else thực Ta có cú pháp câu điều kiện if else sau: if (biểu thức điều kiện) [ else ] Nếu câu lệnh thân if hay else mà lớn lệnh lệnh phải bao khối lệnh, tức phải nằm dấu khối { } Ví dụ: Dùng câu lệnh điều kiện if else Các lệnh điều kiện if lồng để phục vụ cho việc xử lý câu điều kiện phức tạp 2.2 Câu lệnh switch Khi có nhiều điều kiện để chọn thực dùng câu lệnh if rối rắm dài dòng, dạng câu lệnh switch liệt kê giá trị thực giá trị thích hợp C# cung cấp câu lệnh nhảy switch có cú pháp sau: -12- switch (biểu thức điều kiện) { case : case : [default: ] } Biểu thức để so sánh đặt sau từ khóa switch, giá trị so sánh đặt sau từ khóa case Giá trị sau từ khóa case giá trị số nguyên Nếu giá trị sau case với giá trị biểu thức sau switch câu lệnh liên quan đến câu lệnh case thực thi, phải có câu lệnh nhảy break, goto để điều khiển nhảy qua case khác Ví dụ: Câu lệnh switch Chú ý: − thực xong câu lệnh trường hợp muốn thực trường hợp case khác ta dùng câu lệnh nhảy goto với nhãn trường hợp đó: goto case − Khi gặp lệnh break chương trình khỏi switch thực lệnh tiếp sau khối switch -13- − Nếu khơng có trường hợp thích hợp câu lệnh switch có dùng câu lệnh defalut câu lệnh trường hợp default thực Ta dùng default để cảnh báo lỗi hay xử lý trường hợp tất trường hợp case switch − Trong ví dụ minh họa câu lệnh switch trước giá trị để kiểm tra trường hợp thích hợp số nguyên Tuy nhiên C# cịn có khả cho phép dùng câu lệnh switch với giá trị chuỗi, viết sau: switch (biến ) { case “mau do”: break; case “mau cam”: } Câu lệnh lặp break; Bao gồm câu lệnh lặp for, while , while foreach Cuối câu lệnh nhảy goto, break, continue, return a Câu lệnh nhảy goto Lệnh nhảy goto lệnh nhảy đơn giản, cho phép chương trình nhảy vơ điều kiện tới vị trí chương trình thơng qua tên nhãn Tuy nhiên việc sử dụng lệnh goto thường làm tính cấu trúc thuật tốn, việc lạm dụng dẫn đến chương trình nguồn mà giới lập trình gọi “mì ăn liền” rối mớ bòng bong Hầu hết người lập trình có kinh nghiệm tránh dùng lệnh goto Sau cách sử dụng lệnh nhảy goto: Bước 1: Tạo nhãn Bước 2: goto đến nhãn Nhãn định danh theo sau dấu hai chấm (:) Thường thường lệnh goto gắn với điều kiện đó, ví dụ sau minh họa sử dụng lệnh nhảy goto chương trình Ví dụ: Sử dụng goto using System; public class UsingGoto { public static int Main() { int i = 0; lap: // nhãn Console.WriteLine(“i:{0}”,i); i++; -14- ... NET + C? ? kiến th? ?c lập trình hướng đối tượng C# + Thao t? ?c với đối tượng Net (Visual C# ) - Về kỹ năng: + C? ? kỹ sử dụng Control + C? ? kỹ giao diện C# + C? ? kỹ lập trình hướng đối tượng C# + C? ? kỹ sử... dụng C? ??a sổ project Form C? ?c điều khiển -3- C? ??a sổ thu? ?c tính Chương C? ?N BẢN C# M? ?c tiêu: - Trình bày c? ??u tr? ?c C# - Viết c? ?u lệnh đơn giản C# - Sử dụng c? ?u lệnh, toán tử, biểu th? ?c, biến C# để... l? ?c tự chủ trách nhiệm: + Nghiêm t? ?c, th? ?c đầy đủ tập + C? ? ý th? ?c tích c? ? ?c tự nghiên c? ??u nội dung trư? ?c đến lớp III Nội dung môn h? ?c: Chương 1: MICROSOFT.NET M? ?c tiêu: - Trình bày thành phần C#