Tổng hợp kiến thức cơ bản về C# Ngày đăng: 09:35 10/09/2022

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.

Giới thiệu 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 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#.

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.

C# là gì

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.
  • 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#

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

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":

using System; namespace VietJackCsharp { class TestCsharp { static void Main(string[] args) { /* chuong trinh in dong chu Hello World trong C# */ Console.WriteLine("Hello World"); Console.ReadKey(); } } }

Nhấn phím F5 để biên dịch và chạy chương trình C# trên sẽ cho kết quả sau:

Tổng hợp kiến thức cơ bản về C

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 System namespace 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ớp HelloWorld 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");
  • 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.

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.