Giáo trình Kỹ thuật lập trình nâng cao giúp cho người học trang bị được kiến thức về lập trình trên môi trường ứng dụng. Trình bày được quy trình xây dựng một chương trình C# đơn giản. Xác định được các thành phần cơ bản trong ngôn ngữ lập trình C#. Trình bày được cú pháp câu lệnh trong lập trình C#. Phát biểu được sự hoạt động của câu lệnh chương trình con. Khái quát hóa được trong phương pháp lập trình hướng đối tượng. Phân biệt được các điều khiển trong lập trình window form.
ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH GIÁO TRÌNH MƠ ĐUN: KỸ THUẬT LẬP TRÌNH NÂNG CAO NGHỀ: TIN HỌC ỨNG DỤNG TRÌNH ĐỘ: TRUNG CẤP (Ban hành kèm theo Quyết định số: /QĐ-CĐKTKT ngày tháng năm 2020 Hiệu trưởng Trường Cao đẳng Kinh tế - Kỹ thuật Thành phố Hồ Chí Minh) Thành phố Hồ Chí Minh, năm 2020 ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH GIÁO TRÌNH MƠ ĐUN: KỸ THUẬT LẬP TRÌNH NÂNG CAO NGHỀ: TIN HỌC ỨNG DỤNG TRÌNH ĐỘ: TRUNG CẤP THƠNG TIN CHỦ NHIỆM ĐỀ TÀI Họ tên: Nguyễn Gia Quang Đăng Học vị: Thạc sỹ Đơn vị: Khoa Công nghệ thông tin Email: nguyengiaquangdang@hotec.edu.vn TRƯỞNG KHOA Lê Như Dzi TỔ TRƯỞNG BỘ MÔN CHỦ NHIỆM Võ Đào Thị Hồng Tuyết Nguyễn Gia Quang Đăng HIỆU TRƯỞNG DUYỆT Tháng 10 năm 2020 ĐỀ TÀI TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Giáo trình biên soạn dựa chương trình chi tiết mơ đun bậc trung cấp chuyên ngành Tin học ứng dụng Khoa Công nghệ thông tin Trường Cao đẳng Kinh tế Kỹ thuật Thành Phố Hồ Chí Minh Đây giáo trình biên soạn lần thứ cho mơn học khoa Công nghệ thông tin nhà trường Nhằm cung cấp kiến thức tảng, giúp học sinh sinh viên nắm vững vận dụng kỹ thuật phổ biến viết ứng dụng ngơn ngữ lập trình C# Từ đó, sinh viên tự học kiến thức chuyên sâu Trong tài liệu tác giả sử dụng phương pháp lập trình ngơn ngữ C# truy xuất môi trường Dos ứng dụng windows forms Qua đó, giúp sinh viên nắm bắt kiến thức kỹ thực hành để vận dụng viết ứng dụng thực tiễn Trong q trình biên soạn chắn giáo trình cịn nhiều thiếu sót hạn chế Rất mong nhận đóng góp ý kiến quý báu học sinh sinh viên bạn đọc để giáo trình ngày hồn thiện Thành phố Hồ Chí Minh, ngày……tháng năm 2020 Tác giả biên soạn Nguyễn Gia Quang Đăng KHOA CÔNG NGHỆ THÔNG TIN MỤC LỤC LỜI GIỚI THIỆU GIÁO TRÌNH MƠ ĐUN Bài 1: Giới thiệu ngôn ngữ C# 1.1 Tổng quan ngơn ngữ lập trình C# 1.1.1 Khái niệm ngôn ngữ C# 1.1.2 .NET Framework 1.1.3 Một số công nghệ NET Framework 10 1.2 Cấu trúc chương trình C# 10 1.2.1 Các thành phần Visual Studio 10 1.2.2 Cấu trúc chương trình 11 1.3 Một số khái niệm 12 1.4 Tạo ứng dụng C# 13 1.5 Bài tập áp dụng 19 Bài 2: Các thành phần ngôn ngữ C# 20 2.1 Các thành phần 20 2.2 Nhập/ xuất C# 24 2.3 Các kiểu liệu 31 2.4 Cách khai báo 35 2.5 Các phép toán 39 2.6 Các biểu thức 45 2.7 Các cấu trúc điều khiển 45 2.8 Mảng chiều 55 2.9 Bài tập áp dụng 59 Bài 3: Chương trình C# 62 3.1 Đặt vấn đề 62 3.2 Phạm vi hoạt động biến, hàm 62 3.3 Cấu trúc hàm 69 3.4 Nguyên tắc hoạt động 70 3.5 Cách gọi hàm 72 3.6 Bài tập áp dụng 74 Bài 4: Windows Forms 75 4.1 Giới thiệu Windows Applications 75 4.1.1 Giới thiệu 75 4.1.2 Tạo giao diện ứng dụng 76 4.2 Các điều khiển C# 83 4.3 Các điều khiển hộp thoại 87 4.4 Bài tập áp dụng 98 Bài 5: Thao tác với chuỗi 105 5.1 Thao tác chuỗi dùng String 105 5.2 Thao tác chuỗi dùng StringBuilder 109 5.3 Sử dụng biểu thức quy tắc qua lớp Regex 111 5.4 Bài tập áp dụng 113 TÀI LIỆU THAM KHẢO 114 DANH MỤC HÌNH 115 DANH MỤC BẢNG BIỂU 116 KHOA CÔNG NGHỆ THƠNG TIN GIÁO TRÌNH MƠ ĐUN Tên mơ đun: Kỹ thuật lập trình nâng cao Mã mơ đun: MĐ2101081 Vị trí, tính chất, ý nghĩa vai trị mơ đun: - Vị trí: mơ đun chun mơn cho ngành tin học ứng dụng - Tính chất: mơ đun bắt buộc - Ý nghĩa vai trò mô đun: giúp cho người học trang bị kiến thức lập trình mơi trường ứng dụng Mục tiêu mơ đun: Về kiến thức: - Trình bày quy trình xây dựng chương trình C# đơn giản Xác định thành phần ngơn ngữ lập trình C# Trình bày cú pháp câu lệnh lập trình C# Phát biểu hoạt động câu lệnh chương trình Khái quát hóa phương pháp lập trình hướng đối tượng Phân biệt điều khiển lập trình window form Về kỹ năng: - Ứng dụng viết chương trình xử lý tính tốn ngơn ngữ C#; Phân tích câu lệnh, cú pháp chương trình C#; Xây dựng lớp xử lý cho ứng dụng; Sử dụng control Visual studio để thiết kế form Về lực tự chủ trách nhiệm: - Rèn luyện tư nghiên cứu phân tích tốn; Phát huy tính tích cực sáng tạo phương pháp giải; Cẩn thận, xác viết chương trình C# Nội dung mơ đun: KHOA CƠNG NGHỆ THƠNG TIN Bài 1: Giới thiệu ngôn ngữ C# BÀI 1: GIỚI THIỆU NGÔN NGỮ C# Giới thiệu: Khái niệm tổng quan cấu trúc ngơn ngữ lập trình C# Mục tiêu: - Trình bày cấu trúc chương trình C# Phát biểu lại khái niệm lập trình Trình bày bước viết chương trình ngơn ngữ C# Nội dung chính: 1.1 Tổng quan ngơn ngữ lập trình C# 1.1.1 Khái niệm 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ừ khoá 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 đơn 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 KHOA CÔNG NGHỆ THÔNG TIN Bài 1: Giới thiệu ngôn ngữ C# 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 1.1.2 .NET Framework NET Framework tảng lập trình tảng thực thi ứng dụng chủ yếu hệ điều hành Microsoft Windows phát triển Microsoft Các chương trình viết nền.NET Framework triển khai môi trường phần mềm (ngược lại với môi trường phần cứng) biết đến với tên Common Language Runtime (CLR) Môi trường phần mềm máy ảo cung cấp dịch vụ an ninh phần mềm (security), quản lý nhớ (memory management), xử lý lỗi ngoại lệ (exception handling) .NET framework bao gồm tập thư viện lập trình lớn, thư viện hỗ trợ việc xây dựng chương trình phần mềm lập trình giao diện; truy cập, kết nối sở liệu; ứng dụng web; giải thuật, cấu trúc liệu; giao tiếp mạng CLR với thư viện thành phần của.NET framework .NET framework đơn giản hóa việc viết ứng dụng cách cung cấp nhiều thành phần thiết kế sẵn, người lập trình cần học cách sử dụng tùy theo sáng tạo mà gắn kết thành phần lại với Nhiều công cụ tạo để hỗ trợ xây dựng ứng dụng.NET IDE (Integrated Developement Environment) phát triển hỗ trợ Microsoft Visual Studio Bảng 1-1 Lịch sử NET Framework Phiên Số hiệu phiên Ngày phát hành Visual Studio Được phát hành kèm theo 1.0 1.0.3705.0 13/2/2002 Visual Studio.NET Windows XP Tablet and Media Center Editions 1.1 1.1.4322.573 24/4/2003 Visual Studio.NET 2003 Windows Server 2003 2.0 2.0.50727.42 7/11/2005 Visual Studio 2005 Windows Server 2003 R2 3.0 3.0.4506.30 6/11/2006 KHOA CÔNG NGHỆ THÔNG TIN Windows Vista, Windows Server 2008 Bài 1: Giới thiệu ngôn ngữ C# Windows 7, Windows Server 2008 R2 3.5 3.5.21022.8 19/11/2007 Visual Studio 2008 4.0 4.0.30319.1 12/4/2010 Visual Studio 2010 4.5 4.5.50709 15/8/2012 Visual Studio 2012 Windows 8, Windows Server 2012 20/7/2015 Visual Studio 2015 Windows 10 4.6 4.7.2 v1803-v1809, 2019 30/4/2018 Visual Studio 2017 15.8 SP1, 8.1 Update, 10 v1607-v1709 4.8 v1903-v1909 18/4/2019 Visual Studio 2019 16.3 SP1, 8.1 Update, 10 v1607-v1809 NET Framework 1.0 Đây phiên của.NET framework, phát hành vào năm 2002 cho hệ điều hành Windows 98, NT 4.0, 2000 XP Việc hỗ trợ thức từ Microsoft cho phiên kết thúc vào 10/7/2007, nhiên thời gian hỗ trợ mở rộng kéo dài đến 14/7/2009 .NET Framework 1.1 Phiên nâng cấp phát hành vào 4/2003 Sự hỗ trợ Microsoft kết thúc vào 14/10/2008, hỗ trợ mở rộng định đến 8/10/2013 Những thay đổi so với phiên 1.0: • Tích hợp hỗ trợ mobile ASP.NET (trước phần mở rộng tùy chọn) • Thay đổi kiến trúc an ninh - sử dụng sandbox thực thi ứng dụng từ Internet • Tích hợp hỗ trợ ODBC sở liệu Oracle • NET Compact Framework • Hỗ trợ IPv6 (Internet Protocol version 6) • Vài thay đổi khác API KHOA CÔNG NGHỆ THÔNG TIN Bài 1: Giới thiệu ngôn ngữ C# NET Framework 2.0 Kể từ phiên này,.NET framework hỗ trợ đầy đủ tảng 64-bit Ngồi ra, có số thay đổi API; hỗ trợ kiểu "generic"; bổ sung hỗ trợ cho ASP.NET; NET Micro Framework - phiên bản.NET framwork có quan hệ với Smart Personal Objects Technology .NET Framework 3.0 Đây phiên hoàn toàn, thực tế nâng cấp của.NET 2.0 Phiên 3.0 cịn có tên gọi khác WinFX, bao gồm nhiều thay đổi nhằm hỗ trợ việc phát triển chuyển đổi (porting) ứng dụng Windows Vista Tuy nhiên, khơng có xuất của.NET Compact Framework 3.0 lần phát hành Bốn thành phần phiên 3.0: • Windows Presentation Foundation (WPF - tên mã Avalon): Đây công nghệ mới, nỗ lực Microsoft nhằm thay đổi phương pháp hay cách tiếp cận việc lập trình ứng dụng sử dụng giao diện đồ họa Windows với hỗ trợ ngơn ngữ XAML • Windows Communication Foundation (WCF - tên mã Indigo): Một tảng cho phép xây dựng ứng dụng hướng dịch vụ (service-oriented) • Windows Workflow Foundation (WF): Một kiến trúc hỗ trợ xây dựng ứng dụng workflow (luồng công việc) cách dễ dàng WF cho phép định nghĩa, thực thi quản lý workflow từ cách nhìn theo hướng kĩ thuật hướng thương mại • Windows CardSpace (tên mã InfoCard): kiến trúc để quản lý định danh (identity management) cho ứng dụng phân phối Ngoài Silverlight (hay WPF / E), phiên nhánh.NET Framework hỗ trợ ứng dụng web, Microsoft tạo để cạnh tranh với Flash Có thể minh họa.NET 3.0 cơng thức đơn giản: NET 3.0 =.NET 2.0 + WPF + WCF + WF + WCS NET Framework 3.5 Được phát hành vào 11/2007, phiên sử dụng CLR 2.0 Đây xem tương đương với phiên NET Framework 2.0 SP1 NET Framework 3.0 SP1 cộng lại .NET Compact Framework 3.5 đời với phiên bản.NET framework KHOA CÔNG NGHỆ THÔNG TIN Bài 4: Windows Forms Sau nhập liệu cho A B, Nếu liệu nhập kiểu số, ấn nút Result tính kết để điền vào TextBox A+B, A-B, A*B, A/B Ấn nút Reset xoá trắng tất TextBox, đưa Focus TextBox A Ấn nút Exit để khỏi chương trình Lưu ý: Tạo TabIndex theo thứ tự: TextBox A, TextBox B, nút Result, nút Reset, nút Exit 10 Thiết kế Form đăng nhập Khi người sử dụng gõ UserName = “admin” Password = “123” UserName = “user” Password = “456” đóng Form đăng nhập gọi sang Form thứ có giao diện sau: Nếu UserName = “admin” hiển thị GroupBox Style Colour Nếu UserName = “user”, hiển thị GroupBox Style, không hiển thị Groupbox Colour Các chức Form Edit: Khi chọn CheckBox Bold, chữ đậm, bỏ chọn chữ bình thường Tương tự với CheckBox Italic (chữ nghiêng) Underline (gạch chân) KHOA CÔNG NGHỆ THÔNG TIN 102 Bài 4: Windows Forms Khi click vào RadioButton Blue, chữ chuyển sang màu xanh, tương tự với Red Grayed 11 Viết chương trình ứng dụng sau: Yêu cầu chức năng: * Khi Form khởi động, khung văn quy định chức Wrap (văn tự động xuống dòng chạm giới hạn ngang), xuất cuộn dọc cần (ForcedVertical) * Các chức trình đơn: + Đối với nhóm lệnh Edit: • Undo: Cho phép phục hồi lại thao tác trước • Cut: Cắt đoạn văn chọn KHOA CÔNG NGHỆ THÔNG TIN 103 Bài 4: Windows Forms • Copy: Sao chép đoạn văn chọn • Paste: dán Đoạn văn Clipboard vào vị trí văn • Select All: Chọn tịan văn • Delete: Xóa khối văn chọn hay ký tự bên phải trỏ hành • Delete All: xóa tồn văn (dù có chọn hay khơng chọn) • Date and Time: Chèn ngày tháng hành vào vị trí trỏ hành văn + Đối với nhóm lệnh Format: • Font: Định dạng phơng chữ • Fore Color: Định dạng màu chữ khối văn chọn • Back Color: Định dạng màu khối văn chọn • Background: Định dạng màu cho tồn văn • WordWrap: Ấn định văn Wrap hay khơng Wrap văn + Nếu Wrap trình đơn xuất dấu kiểm (Cheked) cho phép xuất cuộn dọc cần (ForcedVertical) + Nếu khơng Wrap trình đơn khơng có dấu kiểm cho phép xuất KHOA CÔNG NGHỆ THÔNG TIN 104 Bài 5: Thao tác với chuỗi BÀI 5: THAO TÁC VỚI CHUỖI Giới thiệu: Trong ngơn ngữ lập trình C# môi trường windows Application cho phép người dùng sử dụng số điều khiển (control) hỗ trợ thiết kế xử lý tạo nên ứng dụng Mục tiêu: - Trình bày tốn tử so sánh chuỗi Phát biểu hàm nhập xuất chuỗi C# Vận dụng hàm xử lý chuỗi có sẵn Trình bày quy tắc qua lớp Regex Nội dung chính: 5.1 Thao tác chuỗi dùng String String kiểu liệu tham chiếu dùng để lưu trữ chuỗi ký tự Vì kiểu liệu nên cách khai báo sử dụng hoàn toàn tương tự kiểu liệu khác thuộc tính phương thức mà lớp String hỗ trợ Bảng 5-1 Bảng thuộc tính phương thức mà lớp String hỗ trợ KHOA CÔNG NGHỆ THÔNG TIN 105 Bài 5: Thao tác với chuỗi Lưu ý: Các phương thức mà có ghi String phía trước phương thức gọi thông qua tên lớp Các phương thức cịn lại gọi thơng qua đối tượng • KHOA CÔNG NGHỆ THÔNG TIN 106 Bài 5: Thao tác với chuỗi Các phương thức gọi tạo đối tượng thao tác đối tượng không thao tác trực tiếp với đối tượng xét • Để hiểu rõ cách sử dụng phương thức Chúng ta thực chuẩn hoá chuỗi họ tên người dùng với yêu cầu: Cắt bỏ hết khoảng trắng dư đầu cuối chuỗi Các từ cách khoảng trắng phát có nhiều khoảng trắng thực cắt bỏ • • Viết hoa chữ từ, chữ viết thường Ý tưởng: Cắt khoảng trắng dư đầu cuối chuỗi ta sử dụng phương thức Trim • Khoảng trắng ta duyệt chuỗi phát có khoảng trắng thay khoảng trắng Để làm điều ta dùng: • o IndexOf để phát khoảng trắng o Replace để thay khoảng trắng thành khoảng trắng Viết hoa chữ đầu viết thường chữ cịn lại ta cắt chuỗi họ tên thành từ ứng với từ ta thực yêu cầu đề Để làm điều ta sử dụng: • o Split để cắt từ o Substring để cắt chữ mong muốn o ToUpper để viết hoa ToLower để viết thường Bây bạn làm thử trước xem code tham khảo nào! Sau code tham khảo để giải vấn đề trên: static void Main(string[] args) { /* * Khai báo biến kiểu chuỗi tên FullName * Khai báo biến Result chứa kết chuẩn hoá chuỗi * Giá trị biến FullName nhập từ bàn phím KHOA CƠNG NGHỆ THÔNG TIN 107 Bài 5: Thao tác với chuỗi */ string FullName; string Result = ""; Console.Write(" Moi ban nhap ho va ten: "); FullName = Console.ReadLine(); /* Cắt khoảng trắng dư đầu cuối chuỗi */ FullName = FullName.Trim(); /* * Trong cịn tìm thấy khoảng trắng * thực thay khoảng trắng khoảng trắng */ while (FullName.IndexOf(" ") != -1) { FullName = FullName.Replace(" ", " "); } /* * Cắt chuỗi họ tên thành mảng từ * Sau duyệt mảng để chuẩn hố từ * Khi duyệt từ ta thực cắt chữ đầu lưu biến FirstChar * Cắt chữ lại lưu biến OtherChar * Thực viết hoa chữ đầu viết thường chữ lại * Cuối lưu chữ vừa chuẩn hoá vào biến Result */ string[] SubName = FullName.Split(' '); for (int i = 0; i < SubName.Length; i++) { KHOA CÔNG NGHỆ THÔNG TIN 108 Bài 5: Thao tác với chuỗi string FirstChar = SubName[i].Substring(0, 1); string OtherChar = SubName[i].Substring(1); SubName[i] = FirstChar.ToUpper() + OtherChar.ToLower(); Result += SubName[i] + " "; } Console.WriteLine(" Ho ten cua ban la: " + Result); Console.ReadKey(); } Kết thực hiện: 5.2 Thao tác chuỗi dùng StringBuilder Lớp StringBuilder NET xây dựng sẵn giúp thao tác trực tiếp với chuỗi gốc giúp tiết kiệm nhớ so với lớp String Đặc điểm StringBuilder là: • Cho phép thao tác trực tiếp chuỗi ban đầu • Có khả tự mở rộng vùng nhớ cần thiết • Khơng cho phép lớp khác kế thừa Từ đặc điểm làm bật lên ưu điểm StringBuilder so với String tốn nhớ Cụ thể qua ví dụ sau: string Value = "Nguyen"; Value = Value + "Dang"; Ở dịng lệnh ta thấy nhớ lưu trữ sau: • Đầu tiên tạo vùng nhớ đối tượng kiểu string tên Value • Tạo vùng nhớ chứa giá trị “Dang” KHOA CÔNG NGHỆ THÔNG TIN 109 Bài 5: Thao tác với chuỗi Khi thực toán tử cộng chuỗi tạo vùng nhớ để chứa giá trị chuỗi sau cộng • Cuối phép gán thực trỏ đối tượng Value sang vùng nhớ chứa chuỗi kết phép cộng • Như ta thấy có vùng nhớ khơng sử dụng cịn nằm nhớ, vùng nhớ chứa giá trị “Nguyen” – giá trị ban đầu biến Value Đối với StringBuilder khác: StringBuilder MutableValue = new StringBuilder("Nguyen"); MutableValue.Append("Dang"); Ở dòng lệnh nhớ lưu trữ sau: • Tạo vùng nhớ cho đối tượng MutableValue chứa giá trị “Nguyen” • Tạo vùng nhớ chứa giá trị “Dang” Mở rộng vùng nhớ MutableValue để nối chuỗi “Dang” vào sau chuỗi “Nguyen” • Rõ ràng ta không tạo nhiều vùng nhớ khơng lãng phí vùng nhớ Sử dụng Cách khởi tạo đối tượng StringBuilder có đơi chút khác so với String Cú pháp: Khởi tạo đối tượng rỗng: StringBuilder = new StringBuilder(); Khởi tạo đối tượng chứa chuỗi cho trước: StringBuilder = new StringBuilder(); Trong lớp StringBuilder có phương thức như: Remove, Insert, Replace sử dụng hồn tồn giống lớp String Chỉ có vài phương thức bạn cần ý: Bảng 5-2 Phương thức lớp StringBuilder KHOA CÔNG NGHỆ THÔNG TIN 110 Bài 5: Thao tác với chuỗi Lưu ý: Các bạn nhớ đối tượng kiểu StringBuilder nên thao tác với chuỗi gán, nối chuỗi, phải thông qua phương thức thực trực tiếp • Giữa String StringBuilder có hay riêng Tuỳ vào yêu cầu toán mà nên sử dụng cho hợp lý, tránh lạm dụng q nhiều kiểu: • Thơng thường tốn địi hỏi thao tác nhiều với chuỗi gốc cộng chuỗi, chèn chuỗi, xoá bỏ số ký tự, nên sử dụng StringBuilder để tối ưu nhớ o o Còn lại nên sử dụng String để việc thao tác thuận tiện 5.3 Sử dụng biểu thức quy tắc qua lớp Regex Namspace System.Text.RegularExpressions thư viện BCL (Base Class Library) chứa đựng tất đối tượng liên quan đến biểu thức quy tắc môi trường NET Và lớp quan trọng mà biểu thức quy tắc hỗ trợ Regex Sử dụng Regex để tìm kiếm tập hợp: Thực việc tìm kiếm chuỗi cách lập lặp lại hết chuỗi, kết trả tập hợp Tập hợp trả có kiểu MatchCollection, bao gồm khơng có hay nhiều đối tượng Match Hai thuộc tính quan trọng đối tượng Match chiều dài giá trị Các lớp trong namespace System.Text.RegularExpresions: Bảng 5-3 Các lớp trong namespace System.Text.RegularExpresions KHOA CÔNG NGHỆ THÔNG TIN 111 Bài 5: Thao tác với chuỗi Lớp Mô tả Regex Lớp thực hoạt động biểu thức Capture Thể kết chuỗi đơn CaptureCollection Thể tập hợp đối tượng Capture Group Thể kết nhóm lưu trữ (biểu thức viết ngoặc) GroupCollection Thể tập hợp đối tượng Group Match Dò tìm pattern xem có xuất RE hay khơng trả kết xác đối tượng Match MatchCollection Thể tập hợp đối tượng Match MatchEvaluator Một delegate sử dụng suốt biểu thức – dựa vào hoạt động thay text Các phương thức Regex: Bảng 5-4 Các phương thức Regex Phương thức Mô tả Match Tìm kiếm pattern xem có xuất RE hay khơng trả kết xác đối tượng Match Matches Tìm kiếm pattern xem tất xuất RE có hay khơng trả tất so khớp thành công xem Match gọi nhiều lần KHOA CÔNG NGHỆ THÔNG TIN 112 Bài 5: Thao tác với chuỗi IsMatch Trả giá trị boolean để kiểm tra phù hợp tìm thấy Replace Thực hoạt động thay chuỗi biểu thức hợp lệ Split Tách chuỗi phù hợp biểu thức hợp lệ Unescape Cho unescape ký tự escape pattern 5.4 Bài tập áp dụng Nhập chuỗi so sánh chuỗi có phân biệt hoa thường? Nhập chuỗi so sánh chuỗi không phân biệt hoa thường? Đếm độ dài chuỗi nhập vào? Kiểm tra chuỗi nhập vào có chữ ”N” hay không? Nhập vào chuỗi hiển thị chuỗi ký tự từ đến 6? Nhập vào chuỗi xóa chuỗi ký tự từ đến 6? Nhập vào chuỗi, thay ký tự ’u’ thành ký tự ’-’ Nhập vào chuỗi, tách chuỗi từ khoảng trắng ’ ’ thành phần tử mãng? Nhập vào chuỗi, hiển thị ký tự mãng? 10 Cắt lấy tên file đường dẫn sau: s=”@ C:\Windows\Boot\DVD\EFI\enUS.bin” 11 Viêt chương trình tách họ chữ lót, tên sau: Nguyen Gia Quang Dang KHOA CÔNG NGHỆ THÔNG TIN 113 TÀI LIỆU THAM KHẢO [1] Dương Quang Thiện, “Sổ tay kỹ thuật Visual C#”, ĐHQG TPHCM, 2016 [2] Nguyễn Trung Trực, “Kỹ thuật lập trình”, ĐHQG TPHCM, 2016 [3] https://nguyenanhtuanweb.wordpress.com, 15/8/2020 [4] https://www.mastercode.vn, 15/8/2020 [5] https://docs.microsoft.com/en-us/, 15/8/2020 KHOA CÔNG NGHỆ THÔNG TIN 114 DANH MỤC HÌNH Hình 1-1 Giao diện chương trình Console App 12 Hình 1-2 Hình tạo project Console 14 Hình 1-3 Giao diện code Console vừa tạo 14 Hình 1-4 Kết chạy đầu tiền 15 Hình 1-5 Cách ghi thích Code C# 18 Hình 2-1 Kết ví dụ dùng lệnh Console.WriteLine 26 Hình 2-2 Kết lệnh nhập xuất 31 Hình 2-3 phương thức chuyển đổi sẵn 38 Hình 4-1 Giao diện tạo project 76 Hình 4-2 Giao diện kiểu ứng dụng lập trình 77 Hình 4-3 Giao diện nhập tên phiên làm việc project 77 Hình 4-4 Giao diện sau tạo project thành công 78 Hình 4-5 Giao diện thiết kế 79 Hình 4-6 Giao diện công cụ hỗ trợ thiết kế (Toolbox) 80 Hình 4-7 Giao diện thiết kế 81 Hình 4-8 Đặt thuộc tính text 81 Hình 4-9 Đặt thuộc tính Button 82 Hình 4-10 Các kiện thường dùng 85 Hình 4-11 Hình thuộc tính Label 86 Hình 4-12 Các thuộc tính Textbox 87 Hình 4-13 Giao diện thiết kế ListBox 88 Hình 4-14 Giao diện Add Item vào ListBox kết 89 Hình 4-15 Ví dụ sử dụng ComboBox 90 Hình 4-16 Giao diện thiết kế TreeView 90 Hình 4-17 Kết thực ví dụ TreeView 92 Hình 4-18 Giao diện thiết kế MenuStrip 93 Hình 4-19 Giao diện thiết kế ContextMenuStrip 93 Hình 4-20 Kết thực ví dụ ContextStrip 95 Hình 4-21 Giao diện thiết kế SaveFileDialogBox 97 Hình 4-22 Font and Color DialogBox 97 Hình 4-23 Kết thực Font and Color DialogBox 98 KHOA CÔNG NGHỆ THÔNG TIN 115 DANH MỤC BẢNG BIỂU Bảng 1-1 Lịch sử NET Framework Bảng 2-1 Bảng danh sách từ khóa C# 23 Bảng 2-2 Các kiểu liệu C# 33 Bảng 2-3 Bảng Kiểu tham chiếu thường dùng 36 Bảng 2-4 Các toán tử số học 39 Bảng 2-5 Bảng toán tử gán giá trị 40 Bảng 2-6 Bảng phép toán so sánh 42 Bảng 2-7 Bảng toán tử logic 43 Bảng 2-8 Bảng thuộc tính phương thức lớp System.Array 58 Bảng 4-1 Bảng điều khiển 83 Bảng 4-2 Bảng kiện TreeView 91 Bảng 4-3 Bảng thuộc tính OpenFileDialogBox 95 Bảng 5-1 Bảng thuộc tính phương thức mà lớp String hỗ trợ 105 Bảng 5-2 Phương thức lớp StringBuilder 110 Bảng 5-3 Các lớp trong namespace System.Text.RegularExpresions 111 Bảng 5-4 Các phương thức Regex 112 KHOA CÔNG NGHỆ THÔNG TIN 116 ... PHỐ HỒ CHÍ MINH TRƯỜNG CAO ĐẲNG KINH TẾ KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH GIÁO TRÌNH MƠ ĐUN: KỸ THUẬT LẬP TRÌNH NÂNG CAO NGHỀ: TIN HỌC ỨNG DỤNG TRÌNH ĐỘ: TRUNG CẤP THÔNG TIN CHỦ NHIỆM ĐỀ TÀI Họ... THIỆU Giáo trình biên soạn dựa chương trình chi tiết mô đun bậc trung cấp chuyên ngành Tin học ứng dụng Khoa Công nghệ thông tin Trường Cao đẳng Kinh tế Kỹ thuật Thành Phố Hồ Chí Minh Đây giáo trình. .. THƠNG TIN GIÁO TRÌNH MƠ ĐUN Tên mơ đun: Kỹ thuật lập trình nâng cao Mã mơ đun: MĐ2101081 Vị trí, tính chất, ý nghĩa vai trị mơ đun: - Vị trí: mơ đun chun mơn cho ngành tin học ứng dụng - Tính