intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Tài liệu Lập trình C# tiếng Việt

Chia sẻ: Nguyen Thanh Tuyen | Ngày: | Loại File: PDF | Số trang:212

342
lượt xem
74
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

C# là một ngôn ngữ lập trình đơn giản, hiện đại, mục đích tổng quát, hướng đối tượng được phát triển bởi Microsoft bên trong phần khởi đầu. NET của họ, được phát triển chủ yếu bởi Anders Hejlsberg, một kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC. Loạt bài hướng dẫn trong tài liệu "Lập trình C# tiếng Việt" sẽ cung cấp cho bạn kiến thức cơ bản về lập trình C# qua các khái niệm từ cơ bản đến nâng cao liên quan tới ngôn ngữ lập trình C#. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Tài liệu Lập trình C# tiếng Việt

  1. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Mục lục Học C# cơ bản và nâng cao ................................................................................................. 8 Đối với độc giả ...................................................................................................................... 8 Điều kiện tiền đề ................................................................................................................... 8 Tổng quan về C# .................................................................................................................. 8 Các đặc điểm lập trình mạnh mẽ của C# .......................................................................... 9 Cài đặt môi trường C# .......................................................................................................... 9 Giới thiệu .Net Framework .............................................................................................. 10 Integrated Development Environment (IDE) cho C# ....................................................... 10 Viết chương trình C# trên Linux hoặc Mac OS................................................................ 11 Cấu trúc chương trình C# ................................................................................................... 11 Tạo chương trình Hello World trong C# .......................................................................... 11 Biên dịch và thực thi chương trình C# ............................................................................. 13 Cú pháp C# cơ bản ............................................................................................................ 14 Từ khóa using trong C# .................................................................................................. 16 Từ khóa class trong C#................................................................................................... 16 Comments trong C# ....................................................................................................... 16 Biến thành viên trong C#................................................................................................. 16 Hàm thành viên trong C# ................................................................................................ 16 Thuyết minh một Class trong C#..................................................................................... 16 Định danh (Identifier) trong C# ........................................................................................ 17 Từ khóa trong C#............................................................................................................ 17 Kiểu dữ liệu trong C# .......................................................................................................... 18 Kiểu giá trị trong C#......................................................................................................... 19 Kiểu tham chiếu trong C#................................................................................................ 21 Kiểu object trong C# ............................................................................................... 21 Kiểu Dynamic trong C# .......................................................................................... 21 Kiểu string trong C# ................................................................................................ 22 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 1
  2. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Kiểu con trỏ trong C# ...................................................................................................... 22 Chuyển đổi kiểu trong C#.................................................................................................... 22 Phương thức chuyển đổi kiểu trong C# .......................................................................... 23 Biến trong C#...................................................................................................................... 26 Định nghĩa biến trong C# ................................................................................................ 27 Khởi tạo biến trong C# .................................................................................................... 27 Nhận giá trị từ người dùng trong C#................................................................................ 29 Biểu thức lvalue và rvalue trong C#................................................................................. 29 Hằng (Constant/Literal) trong C#......................................................................................... 29 Hằng số nguyên trong C# ............................................................................................... 30 Hằng số thực trong C#.................................................................................................... 31 Hằng ký tự trong C#........................................................................................................ 31 Hằng chuỗi trong C#....................................................................................................... 33 Định nghĩa hằng trong C# ............................................................................................... 33 Toán tử trong C# ................................................................................................................ 34 Toán tử số học trong C# ................................................................................................. 34 Toán tử quan hệ trong C#............................................................................................... 35 Toán tử logic trong C# .................................................................................................... 36 Toán tử so sánh bit trong C#........................................................................................... 37 Toán tử gán trong C#...................................................................................................... 40 Các toán tử hỗn hợp trong C# ........................................................................................ 42 Thứ tự ưu tiên toán tử trong C# ...................................................................................... 43 Điều khiển luồng trong C#................................................................................................... 44 Toán tử ? : trong C#........................................................................................................ 46 Vòng lặp trong C#............................................................................................................... 46 Các lệnh điều khiển vòng lặp trong C#............................................................................ 47 Vòng lặp vô hạn trong C# ............................................................................................... 47 Ví dụ .......................................................................................................................... 48 Tính đóng gói trong C# ....................................................................................................... 48 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 2
  3. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Public Access Specifier trong C# .................................................................................... 49 Private Access Specifier trong C# ................................................................................... 50 Protected Access Specifier trong C# ............................................................................... 52 Internal Access Specifier trong C#................................................................................... 52 Protected Internal Access Specifier trong C#................................................................... 54 Phương thức trong C#........................................................................................................ 54 Định nghĩa phương thức trong C# .................................................................................. 54 Ví dụ ............................................................................................................................... 55 Gọi phương thức trong C#.............................................................................................. 56 Gọi phương thức đệ qui trong C# ................................................................................... 58 Truyền tham số cho phương thức trong C#.................................................................... 59 Nullable trong C# ................................................................................................................ 60 Toán tử ?? trong C#........................................................................................................ 61 Mảng (Array) trong C# ........................................................................................................ 62 Khai báo mảng trong C# ................................................................................................. 62 Khởi tạo mảng trong C#.................................................................................................. 63 Gán giá trị cho một mảng trong C# ................................................................................. 63 Truy cập các phần tử mảng trong C#.............................................................................. 64 Sử dụng vòng lặp foreach trong C# ................................................................................ 65 Chi tiết về mảng trong C#................................................................................................ 66 Chuỗi (String) trong C# ....................................................................................................... 67 Tạo một đối tượng String trong C#.................................................................................. 67 Các thuộc tính của lớp String trong C#............................................................................ 69 Phương thức của lớp String trong C# ............................................................................. 69 Ví dụ ............................................................................................................................... 74 Cấu trúc (Structure) trong C# .............................................................................................. 77 Định nghĩa cấu trúc trong C# .......................................................................................... 77 Đặc điểm của cấu trúc trong C#...................................................................................... 79 Phân biệt Class và Structure trong C#............................................................................. 80 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 3
  4. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Enum trong C# ................................................................................................................... 82 Khai báo biến enum trong C# ......................................................................................... 82 Ví dụ ............................................................................................................................... 83 Lớp (Class) trong C#........................................................................................................... 83 Định nghĩa một Class trong C# ....................................................................................... 84 Hàm thành viên và tính đóng gói trong C# ...................................................................... 86 Constructor trong C#....................................................................................................... 88 Destructor trong C#......................................................................................................... 91 Thành viên Static của một Class trong C#....................................................................... 92 Tính kế thừa trong C#......................................................................................................... 95 Lớp cơ sở (Base Class) và Lớp thừa kế (Derived Class) trong C# ................................. 95 Khởi tạo Lớp cơ sở (Base Class) trong C# ..................................................................... 97 Đa kế thừa trong C# ....................................................................................................... 99 Tính đa hình trong C# ....................................................................................................... 101 Đa hình static trong C#.................................................................................................. 101 Nạp chồng hàm trong C#.............................................................................................. 102 Đa hình dynamic trong C# ............................................................................................ 103 Nạp chồng toán tử trong C#.............................................................................................. 107 Triển khai Nạp chồng toán tử trong C# ......................................................................... 107 Toán tử có thể nạp chồng và không thể nạp chồng trong C#........................................ 110 Ví dụ ............................................................................................................................. 111 Interface trong C# ............................................................................................................. 117 Khai báo Interface trong C# .......................................................................................... 117 Ví dụ ............................................................................................................................. 117 Namespace trong C#........................................................................................................ 120 Định nghĩa một Namespace trong C#........................................................................... 120 Từ khóa using trong C# ................................................................................................ 121 Lồng Namespace trong C#........................................................................................... 123 Chỉ thị tiền xử lý trong C# .................................................................................................. 125 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 4
  5. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Các chỉ thị tiền xử lý trong C#........................................................................................ 125 Chỉ thị tiền xử lý #define trong C#.................................................................................. 126 Chỉ thị có điều kiện (Conditional Directive) trong C#....................................................... 127 Regular Expression trong C# ............................................................................................ 128 Construct cho định nghĩa Regular Expression trong C# ................................................ 128 Lớp Regex trong C# ..................................................................................................... 129 Ví dụ 1 .......................................................................................................................... 130 Ví dụ 2 .......................................................................................................................... 131 Ví dụ 3 .......................................................................................................................... 132 Xử lý ngoại lệ (Exception Handling) trong C# .................................................................... 133 Cú pháp........................................................................................................................ 134 Lớp Exception trong C# ................................................................................................ 135 Xử lý ngoại lệ ( Exception Handling) trong C# ............................................................... 136 Tạo User-Defined Exception trong C# .......................................................................... 137 Ném các Object trong C#.............................................................................................. 139 File I/O trong C#................................................................................................................ 139 Lớp I/O trong C# ........................................................................................................... 139 Lớp FileStream trong C#............................................................................................... 140 Ví dụ ............................................................................................................................. 142 Hoạt động File nâng cao trong C# ................................................................................ 143 Attribute trong C# .............................................................................................................. 143 Xác định một Attribute trong C# .................................................................................... 144 Attribute được định nghĩa trước trong C#...................................................................... 144 AttributeUsage trong C#................................................................................................ 144 Conditional trong C# ..................................................................................................... 145 Obsolete trong C#......................................................................................................... 147 Tạo Custom Attribute trong C#...................................................................................... 148 Khai báo một Custom Attribute trong C# ....................................................................... 149 Xây dựng Custom Attribute trong C# ............................................................................ 149 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 5
  6. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Áp dụng Custom Attribute trong C# .............................................................................. 151 Reflection trong C# ........................................................................................................... 152 Các ứng dụng của Reflection........................................................................................ 152 Quan sát Metadata trong C#......................................................................................... 153 Ví dụ ............................................................................................................................. 155 Thuộc tính (Property) trong C#.......................................................................................... 159 Accessor trong C# ........................................................................................................ 160 Ví dụ ............................................................................................................................. 161 Thuộc tính trừu tượng trong C# .................................................................................... 164 Indexer trong C# ............................................................................................................... 166 Cú pháp........................................................................................................................ 167 Sự sử dụng của Indexer trong C#................................................................................. 167 Nạp chồng Indexer trong C# ......................................................................................... 170 Delegate trong C#............................................................................................................. 173 Khai báo Delegate trong C#.......................................................................................... 173 Khởi tạo Delegate trong C#........................................................................................... 173 Multicast một Delegate trong C# ................................................................................... 175 Cách sử dụng Delegate trong C# ................................................................................. 177 Sự kiện (Event) trong C# .................................................................................................. 178 Sử dụng Delegate với Event trong C# .......................................................................... 179 Khai báo Event trong C# ............................................................................................... 179 Ví dụ 1 .......................................................................................................................... 179 Ví dụ 2 .......................................................................................................................... 181 Collection trong C#............................................................................................................ 185 Các lớp Collection và cách sử dụng của chúng trong C# .............................................. 185 Generic trong C# .............................................................................................................. 186 Đặc điểm của Generic trong C#.................................................................................... 189 Các phương thức Generic trong C# ............................................................................. 190 Generic Delegate trong C# ........................................................................................... 191 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 6
  7. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Phương thức nặc danh trong C# ...................................................................................... 193 Viết một Phương thức nặc danh trong C# .................................................................... 193 Ví dụ ............................................................................................................................. 194 Unsafe code trong C#....................................................................................................... 195 Con trỏ (Pointer) trong C# ............................................................................................. 196 Thu hồi giá trị dữ liệu bởi sử dụng con trỏ trong C# ....................................................... 197 Truyền Con trỏ như là các Tham số tới phương thức trong C#..................................... 198 Truy cập các phần tử mảng bởi sử dụng một con trỏ trong C# ..................................... 199 Biên dịch Unsafe Code trong C#................................................................................... 200 Đa luồng (Multithread) trong C# ........................................................................................ 201 Vòng đời của Thread trong C#...................................................................................... 201 Main Thread trong C#................................................................................................... 202 Thuộc tính và Phương thức của lớp Thread trong C#................................................... 203 Tạo Thread trong C# .................................................................................................... 208 Quản lý Thread trong C# .............................................................................................. 209 Hủy Thread trong C# .................................................................................................... 210 Tài liệu tham khảo C# ....................................................................................................... 212 Link hữu ích về C#........................................................................................................ 212 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 7
  8. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Học C# cơ bản và nâng cao C# là một ngôn ngữ lập trình đơn giản, hiện đại, mục đích tổng quát, hướng đối tượng được phát triển bởi Microsoft bên trong phần khởi đầu .NET của họ, được phát triển chủ yếu bởi Anders Hejlsberg, một kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC. Loạt bài hướng dẫn này sẽ cung cấp cho bạn kiến thức cơ bản về lập trình C# qua các khái niệm từ cơ bản đến nâng cao liên quan tới ngôn ngữ lập trình C#. Loạt bài hướng dẫn của chúng tôi dựa trên nguồn tài liệu của: Tutorialspoint Đối với độc giả Loạt bài hướng dẫn này được xây dựng cho người mới học để giúp họ hiểu các khái niệm cơ bản về lập trình C#. Điều kiện tiền đề Ngôn ngữ lập trình C# là dựa trên các ngôn ngữ lập trình C và C++, vì thế, nếu bạn đã hiểu cơ bản về C và C++, thì điều này sẽ giúp bạn học tập C# dễ dàng hơn. Tổng quan về C# C# là một ngôn ngữ lập trình đơn giản, hiện đại, mục đích tổng quát, hướng đối tượng được phát triển bởi Microsoft và được phê chuẩn bởi European Computer Manufacturers Association (ECMA) và International Standards Organization (ISO). C# được phát triển bởi Anders Hejlsberg và team của ông trong khi phát triển .Net Framework. C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau. Dưới đây là các lý do làm C# là ngôn ngữ lập trình chuyên nghiệp được sử dụng rộng rãi:  Nó là một ngôn ngữ lập trình hiện đại, mục đích tổng quát.  Nó là hướng đối tượng. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 8
  9. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com  Nó dễ dàng để học.  Nó là một ngôn ngữ được cấu trúc.  Nó tạo các chương trình hiệu quả.  Nó có thể được biên dịch trên nhiều nền tảng máy tính khác nhau.  Nó là một phần của .Net Framework. Các đặc điểm lập trình mạnh mẽ của C# Cấu trúc C# khá gần với các ngôn ngữ high-level truyền thống, C và C++, và là một ngôn ngữ lập trình hướng đối tượng. Nó có sự giống nhau mạnh mẽ với Java, nó có nhiều đặc điểm lập trình mạnh mẽ mà làm cho nó trở nên ưa thích với các lập trình viên trên toàn thế giới. Dưới đây là các đặc điểm quan trọng của C#:  Điều kiện Boolean  Tự động dọn rác bởi Garbage-Collector (GC)  Thư viện chuẩn (Standard Library)  Assembly  Property và sự kiện (Event)  Delegate Quản lý sự kiện  Dễ dàng để sử dụng Generic  Indexer  Biên dịch có điều kiện (Conditional Compilation)  Đa luồng dễ dàng (Multithreading)  LINQ và Lambda Expression  Tích hợp với Windows Cài đặt môi trường C# Trong chương này, chúng tôi sẽ giới thiệu các công cụ cần thiết để cài đặt môi trường C#. Chúng tôi đã đề cập rằng C# là một phần của .Net Framework và được sử dụng để viết các ứng dụng .Net. Vì thế, trước khi thảo luận về các công cụ có sẵn để chạy một chương trình C#, bạn nên hiểu cách C# liên quan tới .Net Framework. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 9
  10. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Giới thiệu .Net Framework .Net Framework là một nền tảng mang tính cách mạng giúp bạn viết các kiểu ứng dụng sau:  Windows application  Web application  Dịch vụ Web Các ứng dụng .Net Framework là các ứng dụng đa nền tảng. Nền tảng đã được thiết kế theo cách như vậy có thể được sử dụng từ bất kỳ ngôn ngữ lập trình nào: C#, C++, Visual Basic, Jscript, COBOL, …. Tất cả các ngôn ngữ này có thể truy cập tới nền tảng này cũng như giao tiếp với nhau. .Net Framework gồm một thư viện code khổng lồ được sử dụng bởi các ngôn ngữ client như C#. Dưới đây là một số thành phần của .Net Framework.  Common Language Runtime (CLR)  .Net Framework Class Library  Common Language Specification  Common Type System  Metadata và Assembly  Windows Form  ASP.Net và ASP.Net AJAX  ADO.Net  Windows Workflow Foundation (WF)  Windows Presentation Foundation  Windows Communication Foundation (WCF)  LINQ Integrated Development Environment (IDE) cho C# Microsoft cung cấp các công cụ phát triển sau cho lập trình C#:  Visual Studio 2010 (VS)  Visual C# 2010 Express (VCE)  Visual Web Developer http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 10
  11. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Hai công cụ sau là có sẵn và miễn phí tại Website chính thức của Microsoft. Sử dụng các tool này, bạn có thể viết tất cả các loại chương trình C# từ các ứng dụng dòng lệnh đơn giản tới các ứng dụng phức tạp hơn. Bạn cũng có thể viết các tệp source code của C# bởi sử dụng một Text Editor cơ bản, như Notepad, và biên dịch code đó vào trong Assembly bởi sử dụng Command-line Compiler, mà là một phần của .Net Framework. Trong loạt bài này, chúng tôi sử dụng Visual C# 2010 Express và bạn có thể tải nó từ:Microsoft Visual Studio. Nó được cài đặt tự động trên máy tính của bạn. Viết chương trình C# trên Linux hoặc Mac OS Mặc dù .Net Framework chạy trên Hệ điều hành Windows, nhưng cũng có một số phiên bản thay thế làm việc trên các Hệ điều hành khác. Mono là một phiên bản mã nguồn mở của .Net Framework mà gồm một C# compiler và chạy trên một số Hệ điều hành, gồm Linux và Mac OS. Bạn có thể truy cập: Go Mono. Mục đích của Mono không chỉ để chạy trên các ứng dụng .Net trên Microsoft, mà còn đem lại công cụ phát triển cho các lập trình viên Linux. Mono có thể chạy trên nhiều Hệ điều hành khác nhau, như Android, BSD, iOS, Linux, OS X, Windows, Solaris, và UNIX. Cấu trúc chương trình C# Trước khi học về cách xây dựng các khối của ngôn ngữ lập trình C#, chúng ta nên tìm hiểu cấu trúc cơ bản chương trình C#. Tạo chương trình Hello World trong C# Một chương trình C# gồm các phần sau:  Khai báo Namespace  Một class  Phương thức của lớp  Thuộc tính của lớp  Một phương thức Main  Lệnh và biểu thức  Comment Bạn theo dõi đoạn code đơn giản sau sẽ in “Hello World”: http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 11
  12. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com using System; namespace HelloWorldApplication { class HelloWorld { static void Main(string[] args) { /* my first program in C# */ Console.WriteLine("Hello World"); Console.ReadKey(); } } } Khi code trên được biên dịch và thực thi, nó sẽ cho kết quả: Hello World Giờ chúng ta xem xét các phần của chương trình trên:  Dòng đầu tiên using System;. Từ khóa using được sử dụng để bao Systemnamespace trong chương trình. Nói chung, một chương trình có nhiều lệnh using.  Dòng tiếp theo có khai báo namespace. Một namespace là một tập hợp các lớp.HelloWorldApplication namespace chứa class HelloWorld.  Dòng tiếp theo có một khai báo class, class HelloWorld chứa các định nghĩa dữ liệu và phương thức mà chương trình của bạn sử dụng. Nói chung, class chứa nhiều phương thức. Các phương thức định nghĩa hành vi của class. Tuy nhiên, lớpHelloWorld chỉ có một phương thức Main.  Dòng tiếp theo định nghĩa phương thức Main, mà là entry point cho tất cả chương trình C#. Phương thức Main biểu diễn trạng thái lớp khi được thực thi.  Dòng tiếp theo /*…*/ bị bỏ qua bởi compiler và nó là comment cho chương trình.  Phương thức Main xác định hành vi của nó với lệnh Console.WriteLine("Hello World"); http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 12
  13. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com WriteLine là một phương thức của lớp Console được định nghĩa trong System namespace. Lệnh này làm thông báo “Hello, World!” được hiển thị trên màn hình.  Dòng cuối cùng Console.ReadKey(); là cho VS.NET Users. Nó làm chương trình đợi cho một phím được nhấn và nó ngăn cản màn hình chạy và đóng một cách nhanh chóng khi chương trình được phát động từ Visual Studio.Net. Bạn nên ghi nhớ các điểm sau:  C# là phân biệt kiểu chữ (case sensitive).  Tất cả lệnh và biểu thức phải kết thúc với một dấu chấm phảy (;).  Sự thực thi chương trình bắt đầu tại phương thức Main.  Không giống Java, tên file chương trình có thể khác tên lớp. Biên dịch và thực thi chương trình C# Nếu bạn đang sử dụng Visual Studio.Net để biên dịch và thực thi các chương trình C#, bạn theo các bước sau:  Bắt đầu Visual Studio.  Trên thanh menu, chọn File -> New -> Project.  Chọn Visual C# từ các Template, và sau đó chọn Windows.  Chọn Console Application.  Xác định tên cho project và nhấn nút OK.  Điều này tạo New Project trong Solution Explorer.  Viết code trong Code Editor.  Nhấn nút Run hoặc nhấn phím F5 để thực thi project. Một cửa sổ Command Prompt xuất hiện mà chứa dòng Hello World. Bạn có thể biên dịch một chương trình C# bởi sử dụng command-line thay cho Visual Studio IDE:  Mở một Text Editor và thêm code trên vào. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 13
  14. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com  Lưu tệp dưới dạng helloworld.cs  Mở công cụ Command Prompt tool và tới thư mục nơi bạn lưu file đó.  Soạn csc helloworld.cs và nhấn Enter để biên dịch code của bạn.  Nếu không có lỗi nào trong code, thì Command prompt đưa bạn tới dòng tiếp theo và tạo tệp helloworld.exe có thể thực thi (executable).  Soạn helloworld để thực thi chương trình của bạn.  Bạn có thể thấy output là Hello World được in trên màn hình. Cú pháp C# cơ bản C# là một ngôn ngữ lập trình hướng đối tượng. Trong phương pháp lập trình hướng đối tượng, một chương trình gồm các đối tượng đa dạng mà tương tác với nhau các cách thức của action. Các action mà một đối tượng có thể nhận được gọi là các phương thức. Các đối tượng cùng loại được xem như là có cùng kiểu hoặc, được xem như là trong cùng lớp. Ví dụ, xét đối tượng Rectangle. Nó có các thuộc tính như length và width. Phụ thuộc vào thiết kế trên. Nó có thể cần những cách để cấp nhận các giá trị của thuộc tính này, tính toán diện tích và hiển thị chi tiết. Bạn theo dõi ví dụ sau triển khai một lớp Rectangle và cú pháp C# cơ bản của chương trình này: using System; namespace RectangleApplication { class Rectangle { // member variables double length; double width; public void Acceptdetails() { length = 4.5; width = 3.5; http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 14
  15. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com } public double GetArea() { return length * width; } public void Display() { Console.WriteLine("Length: {0}", length); Console.WriteLine("Width: {0}", width); Console.WriteLine("Area: {0}", GetArea()); } } class ExecuteRectangle { static void Main(string[] args) { Rectangle r = new Rectangle(); r.Acceptdetails(); r.Display(); Console.ReadLine(); } } } Khi code trên được biên dịch và thực thi, nó sẽ cho kết quả: Length: 4.5 Width: 3.5 Area: 15.75 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 15
  16. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Từ khóa using trong C# Lệnh đầu tiên trong bất kỳ chương trình C# nào là: using System; Từ khóa using được sử dụng để bao namespace trong chương trình. Một chương trình C# có thể bao nhiều lệnh using. Từ khóa class trong C# Từ khóa class được sử dụng để khai báo một lớp trong C#. Comments trong C# Comment được sử dụng để thuyết minh code. Compiler bỏ qua các comment. Các comment đa dòng trong các chương trình C# bắt đầu với /* và kết thúc với */ như sau: /* This program demonstrates The basic syntax of C# programming Language */ Comment đơn dòng được chỉ dẫn bởi ký hiệu „//‟. Ví dụ: }//end class Rectangle Biến thành viên trong C# Các biến là các thuộc tính hoặc thành viên dữ liệu của một lớp, được sử dụng để lưu giữ dữ liệu. Trong chương trình trước đó, lớp Rectangle có hai biến thành viên là length và width. Hàm thành viên trong C# Hàm là tập hợp các lệnh mà thực hiện một tác vụ cụ thể. Các hàm thành viên của một lớp được khai báo bên trong lớp đó. Lớp Rectangle chứa 3 hàm thành viên là: AcceptDetails,GetArea và Display. Thuyết minh một Class trong C# Trong chương trình trên, lớp ExecuteRectangle chứa phương thức Main() và thuyết minh lớpRectangle. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 16
  17. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Định danh (Identifier) trong C# Một định danh là một tên được sử dụng để nhận diện một lớp, biến, hàm hoặc bất kỳ mục tự định nghĩa (user-defined).  Một tên phải bắt đầu với một chữ cái mà có thể được theo sau bởi một dãy các chữ cái, ký số (0-9) hoặc dấu gạch dưới (_). Ký tự đầu tiên của một định danh không thể là một ký số.  Nó phải không chứa bất kỳ khoảng trống hoặc ký tự như ? - + ! @ # % ^ & * ( ) [ ] { } . ; : " ' / và \. Tuy nhiên, dấu gạch dưới có thể được sử dụng.  Nó không nên là một từ khóa trong C#. Từ khóa trong C# Từ khóa là các từ dành riêng (Reserved Keyword) được định nghĩa trước cho C# compiler. Những từ khóa này không thể được sử dụng làm định danh. Tuy nhiên, nếu bạn muốn sử dụng các từ khóa này để làm định danh, bạn có thể đặt ký tự @ ở trước chúng. Trong C#, một số định danh có ý nghĩa đặc biệt trong ngữ cảnh của code, ví dụ như get và set được gọi là các contextual keyword (từ khóa thuộc ngữ cảnh). Bảng sau liệt kê các từ khóa dành riêng và các từ khóa thuộc ngữ cảnh trong C#: Reserved Keyword abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in in (generic int modifier) http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 17
  18. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com interface internal is lock long namespace new null object operator out out (generic override params modifier) private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual void volatile while Contextual Keyword trong C# add alias ascending descending dynamic from get global group into join let orderby partial (type) partial remove select set (method) Kiểu dữ liệu trong C# Các biến trong C# được phân chia thành các kiểu sau:  Kiểu giá trị (Value type)  Kiểu tham chiếu (Reference type)  Kiểu con trỏ (Pointer type) http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 18
  19. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com Kiểu giá trị trong C# Các biến kiểu giá trị có thể được gán một giá trị một cách trực tiếp. Chúng được kế thừa từ lớp System.ValueType. Kiểu giá trị trực tiếp chứa dữ liệu. Một số ví dụ là int, char, và float, tương ứng giữ số nguyên, chữ cái, và số thực. Khi bạn khai báo một kiểu int, hệ thống cấp phát bộ nhớ để lưu giá trị đó. Bảng sau liệt kê các kiểu giá trị có sẵn trong C# 2010: Kiểu Biểu diễn Dãy giá trị Giá trị mặc định bool Giá trị Boolean True hoặc False False byte Kiểu unsigned integer 0 tới 255 0 (8 bit) char Kiểu Unicode U +0000 tới U +ffff '\0' character (16 bit) decimal Kiểu thập phân (128 (-7.9 x 1028 tới 7.9 x 1028) / 100 to 28 0.0M bit) double Kiểu double (64 bit) (+/-)5.0 x 10-324 tới (+/-)1.7 x 10308 0.0D float Kiểu float (32 bit) -3.4 x 1038 tới + 3.4 x 1038 0.0F int Kiểu integer (32 bit) -2,147,483,648 tới 2,147,483,647 0 long Kiểu signed integer (64 -9,223,372,036,854,775,808 tới 0L bit) 9,223,372,036,854,775,807 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 19
  20. http://vietjack.com/csharp/index.jsp Copyright © vietjack.com sbyte Kiểu signed integer (8 -128 tới 127 0 bit) short Kiểu signed integer (16 -32,768 tới 32,767 0 bit) uint Kiểu unsigned integer 0 tới 4,294,967,295 0 (32 bit) ulong Kiểu unsigned integer 0 tới 18,446,744,073,709,551,615 0 (64 bit) ushort Kiểu unsigned integer 0 tới 65,535 0 (16 bit) Để lấy kích cỡ chính xác của một kiểu hoặc một biến trên một nền tảng cụ thể, bạn có thể sử dụng phương thức sizeof. Biểu thức sizeof(type) hiển thị kích cỡ của đối tượng hoặc kiểu bằng giá trị byte. Ví dụ dưới đây để lấy kích cỡ của kiểu int trên bất kỳ máy tính: using System; namespace DataTypeApplication { class Program { static void Main(string[] args) { Console.WriteLine("Size of int: {0}", sizeof(int)); Console.ReadLine(); } } } Khi code trên được biên dịch và thực thi, nó sẽ cho kết quả: Size of int: 4 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2