Cú pháp cơ bản của C#

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 tương tác với nhau bằng các hành động. Các hành động mà một đối tượng có thể thực hiện được gọi là các phương thức. Các đối tượng cùng loại được cho 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ư lengthwidth. Tùy thuộc vào thiết kế, nó có thể cần cập nhật 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. Để minh họa rõ ràng tính hướng đối tượng của C#, mình sẽ tạo hai class trong hai file riêng rẽ nhau.

Lớp Rectangle: chứa các thuộc tính, phương thức chính:

using System;

namespace RectangleApplication 
{
   class Program 
   {
      static void Main(string[] args) 
      {
         Rectangle r = new Rectangle();
         r.Acceptdetails();
         r.Display();
         Console.ReadLine(); 
      }
   }
	
   class Rectangle 
   {      
      // member variables
      double length;
      double width;
      
      public void Acceptdetails() 
      {
         length = 4.5;    
         width = 3.5;
      }
      public double GetArea() 
      {
         return length * width; 
      }
      public void Display() 
      {
         Console.WriteLine("Length: {0}", length);
         Console.WriteLine("Width: {0}", width);
         Console.WriteLine("Area: {0}", GetArea());
      }
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

Length: 4.5
Width: 3.5
Area: 15.75

Bạn có thể tự biên dịch và xem kết quả trực tuyến tại đây.

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 để khai báo sử dụng thư viện trong chương trình. Như ở ví dụ trên là khai báo sử dụng thư viện System. 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#.

Comment trong C#

Comment được sử dụng để ghi chú cho 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 trên một dòng được bắt đầu bằng ký hiệu //. Ví dụ:

//end class Rectangle  

Biến trong C#

Biến là các thành phần của một lớp, được sử dụng để lưu trữ dữ liệu. Trong chương trình trên, lớp Rectangle có hai biến là lengthwidth.

Phương thức trong C#

Phương thức là tập hợp của nhiều lệnh để thực hiện một tác vụ cụ thể nào đó. Các phương thức của một lớp được khai báo bên trong lớp đó. Lớp Rectangle chứa 3 phương thức là: AcceptDetails, GetAreaDisplay.

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à khởi tạo lớp Rectangle.

Đị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, thuộc tính, phương thức hoặc bất kỳ thành phần tự định nghĩa nào (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, chữ 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 chữ số.
  • Nó 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 được trùng với 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 trình biên dịch C#. 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 set được gọi là từ khóa theo ngữ cảnh (contextual keyword).

Bảng sau liệt kê các từ khóa dành riêng và các từ khóa theo ngữ cảnh trong C#:

Từ khóa dành riêng
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 modifier) int
interface internal is lock long namespace new
null object operator out out (generic modifier) override params
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
Từ khóa theo ngữ cảnh
add alias ascending descending dynamic from get
global group into join let orderby partial (type)
partial
(method)
remove select set

Bạn có muốn xem bài viết tiếp theo không? Nó ở dưới đây nè.

Kiểu dữ liệu trong C# | Comdy
C# có những kiểu dữ liệu nào, được phân loại ra sao. Bài viết này sẽ giúp bạn hiểu rõ về kiểu dữ liệu trong C#.
Lập Trình C#Lập Trình C# Cơ Bản
Bài Viết Liên Quan:
int[] và int[,] trong C#: Ai nhanh hơn
Trung Nguyen 10/10/2020
int[] và int[,] trong C#: Ai nhanh hơn

Hiểu được sự khác biệt giữa các loại mảng trong C# sẽ giúp bạn chọn cấu trúc dữ liệu chính xác cho mọi trường hợp.

Struct và class trong C#: Ai nhanh hơn
Trung Nguyen 09/10/2020
Struct và class trong C#: Ai nhanh hơn

Trong bài viết này, tôi sẽ so sánh sự khác biệt về hiệu suất giữa struct và class trong C#: Ai nhanh hơn.

Best practice cho performance trong C#
Trung Nguyen 03/10/2020
Best practice cho performance trong C#

Mục tiêu của bài viết này là cung cấp một danh sách không đầy đủ các code mẫu cần tránh, vì chúng rủi ro hoặc performance kém.

Đọc ghi file (File I/O) trong C#
Trung Nguyen 26/04/2020
Đọc ghi file (File I/O) trong C#

Hướng dẫn này sẽ giúp bạn tìm hiểu về đọc ghi file (File I/O) trong C# và sử dụng các lớp tiện ích để đọc ghi file.