1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Lập trình C#1 (Nghề: Lập trình máy tính-CĐ) - CĐ Cơ Giới Ninh Bình

131 8 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 131
Dung lượng 1,87 MB

Nội dung

(NB) Giáo trình Lập trình C#1 với mục tiêu giúp các bạn có thể trình bày được các kiến thức về nền tảng Microsoft .NET; Trình bày được các kiến thức và kỹ năng về lập trình hướng đối tượng trên C#; Trình bày được cú pháp các lệnh cơ bản trong C#; Trình bày được các bước xây dựng lớp đối tượng; Mô tả được các bước nạp chồng hàm, chồng toán tử; Trình bày các kiến thức cơ bản về mảng, chuỗi.

BỘ NƠNG NGHIỆP VÀ PHÁT TRIỂN NƠNG THƠN TRƯỜNG CAO ĐẲNG CƠ GIỚI NINH BÌNH GIÁO TRÌNH MƠ ĐUN: LẬP TRÌNH C# 1 NGHỀ: LẬP TRÌNH MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG  Ban hành kèm theo Quyết định số:        /QĐ­TCĐCGNB    ngày….tháng….năm 2017  của Trường Cao đẳng  Cơ giới Ninh   Bình   Tam Điệp, năm 2017 TUN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thơng tin có thể  được phép dùng ngun bản hoặc trích dùng cho các mục đích về  đào tạo và  tham khảo Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh  doanh thiếu lành mạnh sẽ bị nghiêm cấm LỜI GIỚI THIỆU Trong hệ thống kiến thức chun ngành trang bị cho sinh viên nghề Lập   trình máy tính, mơ đun góp phần cung cấp những nội dung liên quan đến ngơn   ngữ lập trình C# Các nội dung chính được trình bày trong tài liệu này  gồm các bài: Bài 1: Microsoft .NET Bài 2: Ngơn ngữ C# Bài 3: Cơ bản về C# Bài 4: Xây dựng lớp – Đối tượng Bài 5: Kế thừa – Đa hình Bài 6: Nạp chồng tốn tử Bài 7: Mảng, chỉ mục và tập hợp Bài 8: Xử lý chuỗi Mặc dầu có rất nhiều cố  gắng, nhưng khơng tránh khỏi những khiếm  khuyết,  rất mong nhận được sự  đóng góp ý kiến của độc giả  để  giáo trình  được hồn thiện hơn                                                     Ninh Bình, ngày        tháng      năm 2017                                                THAM GIA BIÊN SOẠN 1. Chủ biên – CN Phạm Thị Thoa 2. Th.S Nguyễn Xn Khơi 3. Th.S Nguyễn Anh Văn MỤC LỤC TRANG  Bài 1. Microsoft .NET                                                                                                    6  3. Bài tập                                                                                                                       99  Tạo lớp số phức bao gồm:                                                                                           99  GIÁO TRÌNH MƠ ĐUN Tên mơ đun: Lập trình C# 1 Mã số mơ đun: MĐ20 Vị trí, tính chất, ý nghĩa và vai trị của mơ đun: ­ Vị trí:  Đây là mơ đun chứa đựng kiến thức nền tảng về ngơn ngữ lập   trình C#, là mơ đun hỗ  trợ  cho hai mơ đun lập trình Windows 2 và lập trình  Windows 3.  ­ Tính chất Mơ đun này u cầu đã học qua các kiến thức về lập trình  hướng đối tượng, cấu trúc dữ liệu ­ Ý nghĩa và vai trị của đun:  Mục tiêu của mơ đun: ­ Kiến thức: + Trình bày được các kiến thức về nền tảng Microsoft .NET; + Trình bày được các kiến thức và kỹ năng về lập trình hướng đối tượng trên  C#; + Trình bày được cú pháp các lệnh cơ bản trong C#; + Trình bày được các bước xây dựng lớp đối tượng; + Mơ tả được các bước nạp chồng hàm, chồng tốn tử; + Trình bày các kiến thức cơ bản về mảng, chuỗi ­ Kỹ năng: + Sử dụng thành thạo các tốn tử; + Sử dụng được các chỉ dẫn biên dịch; + Sử dụng thành thạo các cấu trúc điều khiển; + Xây dựng được lớp, xây dựng lớp có chồng tốn tử; + Sử dụng được các lớp cơ sở của NET + Khai báo và thao tác được với mảng và chuỗi; ­ Năng lực tự  chủ  và trách nhiệm:  Rèn luyện tính cẩn thận, chính xác, đảm  bảo an tồn cho người và trang thiết bị Nội dung của mơn học/mơ đun: Bài 1. Microsoft .NET Mã bài: MĐ20_B01 Giới thiệu : Trong bài này chúng ta sẽ nghiên cứu khái qt về  Microsoft.NET, biên dịch và ngơn ngữ C# Mục tiêu : - Trình bày được nền tảng Microsoft .NET, trình biên dịch và MSIL, lý  do và lịch sử về sự ra đời của ngơn ngữ C#; - Mơ tả được khái qt về ngơn ngữ C#; ­ Đảm bảo an toàn cho người và thiết bị 1. Microsoft .NET Microsoft   NET   gồm     phần     :   Framework     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 .NET. 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 Tính năng của Micosoft.NET  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    ứ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ả  Kiến trúc .NET Framework NET  Framework  là  một  platform  mới  làm  đơn  giản  việc  phát  triển  ứng  dụng  trong  môi  trường  phân  tán  của  Internet.  NET  Framework  được  thiết kế đầy đủ để đáp  ứng theo quan điểm sau:  Để  cung  cấp  một  mơi  trường  lập  trình  hướng  đối  tượng  vững  chắc,  trong  đó  mã nguồn đối tượng được lưu trữ và thực thi một cách cục  bộ. Thực thi cục bộ nhưng được phân tán trên Internet, hoặc thực thi từ xa  Để  cung cấp một mơi trường thực thi mã nguồn mà tối thiểu được  việc đóng gói phần mềm và sự tranh chấp về phiên bản  Để  cung cấp một mơi trường thực thi mã nguồn mà đảm bảo việc   thực thi an tồn  mã nguồn, bao gồm cả  việc mã nguồn được tạo bởi hãng  thứ ba hay bất cứ hãng nào mà tn thủ theo kiến trúc .NET  Để  cung cấp một mơi trường thực thi mã nguồn mà loại bỏ  được  những lỗi thực  hiện các script hay mơi trường thơng dịch  Để  làm cho những người phát triển có kinh nghiệm vững chắc có  thể nắm vững nhiều kiểu  ứng dụng khác nhau. Như là từ những  ứng dụng  trên nền Windows đến những ứng dụng dựa trên web  Để  xây dựng tất  cả  các  thông  tin  dựa  triên  tiêu  chuẩn  công nghiệp  để đảm bảo rằng mã nguồn trên .NET có thể tích hợp với bất cứ mã nguồn  khác .NET  Framework  có  hai  thành  phần  chính:  Common  Language  Runtime (CLR) và thư viện lớp Common Language Runtime (CLR): thực hiện quản lý bộ  nhớ, quản  lý  thực  thi  tiểu  trình,  thực  thi  mã nguồn,  xác  nhận  mã  nguồn  an  tồn,  biên  bịch và các dịch vụ hệ thống khác. Những đặc tính trên là nền tảng cơ bản  cho những mã nguồn được quản lý chạy trên CLR Thư  viện lớp .NET Framework   là một tập hợp những kiểu dữ  liệu   được dùng lại và  được kết hợp chặt chẽ  với Common Language Runtime   Thư  viện lớp là hướng đối tượng cung  cấp những kiểu dữ  liệu mà mã  nguồn được quản lý của chúng ta có thể dẫn xuất 2. Biên dịch và MSIL 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).  Những  tập  tin  MSIL  được tạo ra từ C# cũng tương tự như các tập tin MSIL được tạo ra từ những  ngôn ngữ  khác của .NET, platform  ở đây khơng cần biết ngơn ngữ  của mã  nguồn. Điều quan trọng chính yếu của CLR là chung (common), cùng một  runtime hỗ trợ phát triển trong C# cũng như trong VB.NET 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 Trình biên dịch JIT tiêu chuẩn thì thực hiện theo yêu cầu. Khi một  phương thức được  gọi,  trình  biên  dịch  JIT  phân  tích  MSIL  và  tạo  ra  sản  phẩm  mã  máy  có  hiệu  quả  cao,  mã  này  có  thể  chạy rất nhanh. Trình biên  dịch JIT đủ thơng minh để nhận ra khi một mã đã được biên  dịch, do vậy khi  ứng dụng chạy thì việc biên dịch chỉ xảy ra khi cần thiết, tức là chỉ biên dịch   mã MSIL chưa biên dịch ra mã máy. Khi đó một  ứng dụng .NET thực hiện,   chúng có xu hướng là chạy nhanh và nhanh hơn nữa, cũng như  là những mã  nguồn được biên dịch rồi thì được dùng lại Do tất cả  các ngơn ngữ  .NET Framework cùng tạo ra sản phẩm MSIL   giống nhau, nên kết quả là một đối tượng được tạo ra từ ngơn ngữ này có thể  được truy cập hay được dẫn xuất   từ   một  đối  tượng  của  ngơn  ngữ  khác trong .NET 3. Ngơn ngữ C# Ngơn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy  kiểu dữ liệu được xây dựng sẵn. Tuy nhiên, ngơn ngữ C# có ý nghĩa cao khi  nó thực thi những khái niệm lập trình hiện đại. C# bao gồm tất cả những hỗ  trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng C# được  xây  dựng  trên  nền  tảng của hai ngơn ngữ  mạnh nhất là C++  và Java Ngơn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đó  người dẫn đầu  là Anders Hejlsberg và Scott Wiltamuth Ngơn ngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối  tượng mới và những phương thức hay thuộc tính của lớp, và cho việc thực thi   đóng gói, kế thừa,  và đa hình, ba thuộc tính cơ bản của bất cứ ngơn ngữ lập   trình hướng đối tượng Trong  ngôn  ngữ  C#  mọi  thứ  liên  quan  đến  khai  báo  lớp  điều  được  tìm  thấy  trong  phần khai  báo  của  nó.  Định  nghĩa  một  lớp  trong  ngơn  ngữ  C#  khơng  đòi  hỏi  phải  chia  ra  tập  tin header  và  tập  tin  nguồn  giống  như  trong  ngôn  ngữ  C++.  Hơn  thế  nữa,  ngơn  ngữ  C#  hỗ  trợ  kiểu  XML,  cho  phép chèn các tag XML để phát sinh tự động các document cho lớp C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với   một lớp cho những dịch vụ mà giao diện quy định. Trong ngơn ngữ C#, một  lớp  chỉ  có  thể  kế  thừa  từ  duy  nhất  một  lớp  cha,  tức  là  không  cho  đa  kế  thừa như trong ngơn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao  diện.  Khi  một  lớp  thực  thi  một  giao  diện  thì  nó  sẽ  hứa  là  nó  sẽ  cung  cấp  chức năng thực thi giao diện Trong ngơn ngữ  C#, những cấu trúc cũng được hỗ  trợ, nhưng khái  niệm về  ngữ  nghĩa  của nó thay đổi khác với C++. Trong C#, một cấu trúc  được giới hạn, là kiểu dữ liệu nhỏ gọn, và khi tạo thể hiện thì nó u cầu ít  hơn về hệ điều hành và bộ nhớ so với một lớp. Một cấu   trúc thì  khơng thể  kế  thừa  từ  một  lớp  hay được  kế  thừa nhưng một  cấu  trúc  có  thể  thực  thi  một giao diện Ngơn  ngữ  C#  cung  cấp  những  đặc  tính  hướng  thành  phần  (component­oriented),  như      thuộc   tính,       kiện   Lập   trình  hướng thành phần được hỗ  trợ  bởi CLR cho   phép lưu  trữ  metadata  với  mã  nguồn  cho  một  lớp.  Metadata  mô  tả  cho  một  lớp,  bao  gồm  những phương  thức và những  thuộc  tính  của  nó,  cũng như những  sự  bảo  mật  cần  thiết  và  những thuộc tính khác 10  Sai hỏng thường gặp, ngun nhân và biện pháp phịng tránh/ khắc   phục ­ Sai hỏng thường gặp Ngun nhân:   Khi khai báo chỉ mục thiếu phạm vi truy xuất là public Biện pháp khắc phục Thêm từ khố public vào trược khai báo chỉ mục 4. Bài tập Nhập vào một dãy n số ngun A[1],A[2], ,A[n] . Đọc ra màn hình các  thơng tin sau : Tổng các phần tử của dãy Số lượng các số hạng dương và tổng của các số hạng dương Số lượng các số hạng âm và tổng của các số hạng âm Trung bình cộng của cả dãy. Trung bình cộng các phần tử dương của  mảng. Trung bình cộng các phần tử âm của mảng Chỉ số của số hạng dương đầu tiên của dãy Chỉ số của số hạng âm đầu tiên của dãy Chỉ số của số hạng dương cuối cùng của dãy Chỉ số của số hạng âm cuối cùng của dãy Số hạng lớn nhất của dãy và chỉ số của nó 10 Số hạng nhỏ nhất của dãy và chỉ số của nó 11 Số hạng âm lớn nhất của dãy và chỉ số của nó 12 Số hạng dương nhỏ nhất của dãy và chỉ số của nó 117 BÀI 8. XỬ LÝ CHUỖI Mã bài: MĐ20_B08 Giới thiệu: Trong bài này chúng ta sẽ nghiên cứu về chuỗi trong C# Mục tiêu: - Trình bày được cú pháp khai báo chuỗi trong C#; - Biết cách xử lý chuỗi trong các chương trình; - Đảm bảo an toàn cho người và thiết bị 1. Tạo một chuỗi Lớp đối tượng String - C# xem  những chuỗi như là những kiểu dữ liệu cơ bản tức là các  lớp  này  rất  linh  hoạt, mạnh mẽ, và nhất là dễ  sử  dụng. Mỗi đối tượng  chuỗi là một dãy cố định các ký tự  Unicode - Khi chúng ta khai báo một chuỗi C#  bằng cách dùng từ khóa string,  là chúng ta đã khai báo một đối tượng của lớp System.String - Khai báo một đối tượng thuộc lớp string: string [= “chuỗi_gán”]; ­ Ví dụ: string hoten; string ngaysinh; string quequan; - Chuỗi ngun văn: các ký tự trong chuỗi được giữ ngun khơng  thay đổi Để gán chuỗi ngun văn ta thêm @ vào trước chuỗi gán cho biến kiểu  string như sau:   string verbatim1 = @”\\MyDocs\CSharp\ProgrammingC#.cs”; Nếu bình thường khơng có @ ta sẽ khai báo và gán như sau:   string verbatim1 = ”\\\\MyDocs\\CSharp\\ProgrammingC#.cs”; Vì muốn thể hiện các ký tự đặc biệt ta phải thêm \ đằng trước ký tự  \n: là ký tự xuống hàng Trình tự thực hiện ­ Chuột phải vào tên project\Add\Class 118 Gõ tên lớp clsTime vào mục Name\Chọn Add ­ Viết code lớp clsSinhvien 119 - Viết code cho hàm Main  - Biên dịch chương trình: Nhấn F6 - Chạy chương trình: Nhấn F5\ Nhập thơng tin sinh viên 120  Sai hỏng thường gặp, ngun nhân và biện pháp phịng tránh/ khắc   phục ­ Sai hỏng thường gặp ­ Ngun nhân: Sử dụng ký tự  (‘’) để gán cho biên chuỗi ­ Biện pháp khắc phục Sử dụng ký tự (“”) để gán cho chuỗi 2. Tạo chuỗi dùng phương thức ToString ­ Để tạo một chuỗi ta sử dụng phương thức ToString() của một đối  tượng và gán kết quả đến một biến chuỗi ­ Ví dụ: int a = 1900; string str = a.ToString();  Trình tự thực hiện ­ Tạo Project mới ­ Viết code hàm Main 121 ­ Biên dịch: Nhấn F6 ­ Chạy chương trình: Nhấn F5  Sai hỏng thường gặp, ngun nhân và biện pháp phịng tránh/ khắc   phục ­ Lỗi ­ Ngun nhân: Viết sai tên phương thức Tostring () ­ Biện pháp khắc phục: Sửa lại thành ToString () 3. Thao tác trên chuỗi Mục tiêu: ­ Trình bày được các phương thức cơ bản cơ lớp String; ­ Vận dụng được các phương thức để làm bài tập ­ Lớp string cung cấp rất nhiều số lượng các phương thức để so sánh,  tìm kiếm và thao  tác trên chuỗi Phương thức và thuộc tính của lớp String System.String Phương thức/ Trường Empty Ý nghĩa Trường public static thể hiện một chuỗi  rỗng 122 Compare() CompareOrdinal() Concat() Copy() Equal() Format() Intern() IsInterned() Join() Phương thức public static để so sánh hai  chuỗi Phương thức public static để so sánh hai  chuỗi  không quan tâm đến thứ tự Phương thức public static để tạo chuỗi mới  từ một hay nhiều chuỗi Phương thức public static tạo ra một chuỗi  mới bằng sao từ chuỗi khác Phương thức public static kiểm tra xem hai  chuỗi  có cùng giá trị hay khơng Phương thức public static định dạng một  chuỗi dùng ký tự lệnh định dạng xác định Phương  thức  public  static trả  về  tham  chiếu  đến  thể hiện của chuỗi Phương thức public static trả về tham chiếu  của chuỗi Phương thức public static kết nối các chuỗi  xác  định giữa mỗi thành phần của mảng  Chars() chuỗi ủa chuỗi  Indexer c Length()  Chiều dài của chuỗi Clone()  Trả về chuỗi CompareTo()  So sánh hai chuỗi CopyTo() EndsWidth() Insert() LastIndexOf() PadLeft() Sao chép một số các ký tự xác định đến một  mảng  ký tự Unicode Chỉ ra vị trí của chuỗi xác định phù hợp với  chuỗi  đưa ra Trả về chuỗi mới đã được chèn một chuỗi  xác định Chỉ  ra  vị  trí  xuất  hiện  cuối  cùng  của  một  chuỗi  xác định trong chuỗi Canh  lề  phải  những  ký tự  trong  chuỗi,  chèn  vào  bên trái khoảng trắng hay các ký tự xác  định 123 Canh  lề  trái  những  ký  tự  trong  chuỗi,  chèn  vào  bên phải khoảng trắng hay các ký tự xác  PadRight() định Xóa đi một số ký tự xác định Remove() Trả về chuỗi được phân định bởi những ký tự  Split() xác  định trong chuỗi Xem chuỗi có bắt đầu bằng một số ký tự xác  StartWidth() định  hay khơng Lấy một chuỗi con SubString() ToCharArray() ToLower() ToUpper() Sao chép những ký tự từ một chuỗi đến mảng  ký tự Trả về bản sao của chuỗi ở kiểu chữ thường Trả về bản sao của chuỗi ở kiểu chữ hoa Xóa bỏ tất cả sự xuất hiện của tập hợp ký  Trim() TrimEnd() tự xác  định từ vị trí đầu tiên đến vị trí cuối  Xóa nh ư nhưng ỗởi. vị trí cuối cùng trong chu TrimStart() Xóa như Trim nhưng ở vị trí đầu ­ Ví dụ:   string s1 = "abcd"; string s2 = "ABCD"; // So sánh hai chuỗi với có phân biệt chữ thường chữ hoa result = string Compare(s1, s2, flase); //hoặc string Compare(s1, s2) mặc định tham số thứ false //So sánh không phân biệt chữ thường hay chữ hoa // Tham số thứ ba true bỏ qua kiểm tra ký tự thường – hoa result = string Compare(s1, s2, true); // phương thức nối chuỗi string s4 = string.Concat(s1, s2); // sử dụng nạp chồng toán tử + string s5 = s1 + s2; 124 // Sử dụng phương thức copy chuỗi string s6 = string.Copy(s5);  Trình tự thực hiện ­ Tạo Project mới ­ Viết code hàm Main class Program { static void Main(string[] args) { // khởi tạo số chuỗi để thao tác string s1 = "abcd"; string s2 = "ABCD"; string s3 = "Trung Tam Dao Tao CNTT Truong cao dang co gioi Ninh Binh"; int result; // So sánh hai chuỗi với có phân biệt chữ thường chữ hoa result = string.Compare( s1 ,s2); Console.WriteLine("So sanh hai chuoi S1: {0} S2: {1} ket qua: {2} \n", s1 ,s2 ,result); // Sử dụng tiếp phương thức Compare() trường hợp không biệt // chữ thường hay chữ hoa // Tham số thứ ba true bỏ qua kiểm tra ký tự thường – hoa result = string Compare(s1, s2, true); Console.WriteLine("Khong phan biet chu thuong va hoa\n"); Console.WriteLine("S1: {0} , S2: {1}, ket qua : {2}\n", s1, s2, result); // phương thức nối chuỗi string s4 = string.Concat(s1, s2); Console.WriteLine("Chuoi S4 noi tu chuoi S1 va S2: {0}", s4); // sử dụng nạp chồng toán tử + string s5 = s1 + s2; Console.WriteLine("Chuoi S5 duoc noi tu chuoi S1 va S2: {0}", s5); // Sử dụng phương thức copy chuỗi 125 string s6 = string.Copy(s5); Console.WriteLine("S6 duoc chep tu S5: {0}", s6); // Sử dụng nạp chồng toán tử = string s7 = s6; Console.WriteLine("S7 = S6: {0}", s7); // Sử dụng ba cách so sánh hai chuỗi // Cách sử dụng chuỗi để so sánh với chuỗi lại Console.WriteLine("S6.Equals(S7) ?: {0}", s6.Equals(s7)); // Cách dùng hàm lớp string so sánh hai chuỗi Console.WriteLine("Equals(S6, s7) ?: {0}", string.Equals(s6, s7)); // Cách dùng toán tử so sánh Console.WriteLine("S6 == S7 ?: {0}", s6 == s7); // Sử dụng hai thuộc tính hay dùng mục chiều dài chuỗi Console.WriteLine("\nChuoi S7 co chieu dai la : {0}", s7.Length); Console.WriteLine("Ky tu thu cua chuoi S7 la : {0}", s7[2] ); // Kiểm tra xem chuỗi có kết thúc với nhóm ký // tự xác định hay không Console.WriteLine("S3: {0}\n ket thuc voi chu CNTT ? : {1}\n", s3, s3.EndsWith("CNTT")); Console.WriteLine("S3: {0}\n ket thuc voi chu Nam ? : {1}\n", s3, s3.EndsWith("Nam")); // Trả mục chuỗi Console.WriteLine("\nTim vi tri xuat hien dau tien cua chu CNTT "); Console.WriteLine("trong chuoi S3 {0}\n", s3.IndexOf("CNTT")); // Chèn từ nhân lực vào trước CNTT chuỗi S3 string s8 = s3.Insert(18, "nhan luc "); Console.WriteLine(" S8 : {0}\n", s8); 126 // Ngoài ta kết hợp sau string s9 = s3.Insert( s3.IndexOf( "CNTT" ) , "nhan luc "); Console.WriteLine(" S9 : {0}\n", s9); Console.ReadKey(); } }  Sai hỏng thường gặp, nguyên nhân và biện pháp phòng tránh/ khắc   phục ­ Sai hỏng thường gặp ­ Nguyên nhân Viết sai tên phương thức ­ Biện pháp khắc phục: Sửa cho đúng tên phương thức 4. Tìm một chuỗi con Để trích chuỗi con của một chuỗi ta sử dụng phương thức  Substring() theo cú pháp sau: ­ Trích chuỗi con từ vị trí Startindex đến cuối cùng String_name.Substring(int Start index) Ví dụ: string s1 = "Trung Tam Dao Tao CNTT Truong cao dang co gioi Ninh Binh"; string s2 = s1.Substring(23); Kết quả: Truong cao dang co gioi Ninh Binh ­ Trích chuỗi con từ vị trí Startindex và có độ dài length String_name.Substring(int Start index, int length) Ví dụ:  127 string s1 = "Trung Tam Dao Tao CNTT Truong cao dang co gioi Ninh Binh"; string s3 = s1.Substring(18,4); Kết quả: CNTT  Trình tự thực hiện ­ Tạo Project mới ­ Viết code hàm Main ­ Biên dịch chương trình: Nhấn F6 ­ Chạy chương trình: Nhấn F5  Sai hỏng thường gặp, ngun nhân và biện pháp phịng tránh/ khắc   phục ­ Sai hỏng thường gặp ­ Ngun nhân Viết sai tên phương thức ­ Biện pháp khắc phục: Sửa cho đúng tên phương thức 128 5. Chia chuỗi Để phân tích từ một chuỗi ra thành các chuỗi con ta dùng phương thức  Split theo cú pháp sau: String_name.Split(char[] strarray_name) ­ strarray_name là mảng các ký tự ­ Chuỗi String_name sẽ được tách thành các chuỗi con khi gặp ký tự  thuộc mảng strarray. Kết quả trả về là một mảng các chuỗi được tách ra Ví dụ:  Tách các từ trong chuỗi:  string s1 = "Trung Tam Dao Tao CNTT Truong cao dang co gioi Ninh Binh"; char[] strarray = new char[]{' ',','}; string strout=""; int ctr=1; foreach ( string subString in s1.Split(delimiters) ) { strout += ctr++; strout += ": "; strout += subString; strout += "\n"; } Kết quả là   Trình tự thực hiện ­ Tạo Project  ­ Viết code hàm Main 129 ­ Biên dịch chương trình: Nhấn F6 ­ Chạy chương trình: Nhấn F5  Sai hỏng thường gặp, ngun nhân và biện pháp phịng tránh/ khắc   phục ­ Sai hỏng thường gặp ­ Ngun nhân 130 Viết sai tên phương thức ­ Biện pháp khắc phục: Sửa cho đúng tên phương thức Bài tập Viết lớp hocsinh bao gồm các thuộc tính và phương thức sau: - Masv - Hoten - Diemtoan - Diemly - Diemhoa - Hàm tạo khơng đối, hàm tạo có đối - Phương thức nhập, hiển thị thơng tin Viết lớp dssv bao gồm các thuộc tính và phương thức sau: - Mảng ds kiểu hocsinh - Số học sinh - Phương thức nhập  - Phương thức hiển thị - Phương thức tìm kiếm thơng tin học sinh theo tên  131 ... Mục tiêu: - Hiểu rõ về khơng gian tên (namespace); - Trình? ?bày được các kiểu dữ liệu? ?cơ? ?bản trong C#;  - Trình? ?bày được các cú pháp: khai báo biến, khai báo hằng, các câu  lệnh? ?cơ? ?bản trong C#; - Sử dụng thành thạo các kiểu dữ liệu dựng sẵn của C#;... Mục tiêu: - Trình? ?bày được các bước xây dựng lớp, tạo đối tượng; - Trình? ?bày được các bước khai báo và sử dụng thành viên static; - Trình? ?bày được các bước nạp trồng tốn tử; - Xây dựng được lớp? ?cơ? ?bản theo u cầu;... trình? ?C#, là mơ đun hỗ  trợ  cho hai mơ đun? ?lập? ?trình? ?Windows 2 và? ?lập? ?trình? ? Windows 3.  ­ Tính chất Mơ đun này u cầu đã học qua các kiến thức về? ?lập? ?trình? ? hướng đối tượng, cấu trúc dữ liệu ­ Ý nghĩa và vai trị của đun: 

Ngày đăng: 28/05/2021, 11:21

w