BÀI 1: TỔNG QUAN VỀ C#

1.1. Tổng quan về .NET Framework

  • Khái niệm: .NET Framework là một nền tảng (platform) phát triển phần mềm của Microsoft. Nó cung cấp một môi trường được quản lý (managed execution environment) và một bộ thư viện lớp (Class Library) phong phú để xây dựng và chạy các ứng dụng Windows, Web và Dịch vụ Web.
  • Các thành phần chính:
    • CLR (Common Language Runtime): Đây là “trái tim” của .NET. Nó là môi trường thực thi, chịu trách nhiệm quản lý việc chạy mã lệnh. Các dịch vụ chính của CLR bao gồm:
      • Quản lý bộ nhớ (Memory Management) và thu gom rác (Garbage Collection).
      • Quản lý luồng (Thread Management).
      • Bảo mật (Security).
      • Biên dịch JIT (Just-In-Time Compilation): Dịch mã trung gian (MSIL) sang mã máy (native code) khi cần.
    • FCL (Framework Class Library): Là một thư viện khổng lồ chứa hàng ngàn lớp (class) đã được viết sẵn, giúp lập trình viên thực hiện các tác vụ phổ biến mà không cần viết lại từ đầu. Ví dụ: xử lý chuỗi, thao tác tệp tin, kết nối cơ sở dữ liệu (ADO.NET), tạo giao diện người dùng (Windows Forms), v.v.

1.2. Giới thiệu về Visual Studio .NET 2008

  • Khái niệm: Visual Studio (VS) là một Môi trường phát triển tích hợp (IDE – Integrated Development Environment). Đây là công cụ chính giúp lập trình viên viết, biên dịch, gỡ lỗi (debug) và quản lý các dự án phần mềm trên nền tảng .NET.
  • Visual Studio 2008: Phiên bản này hỗ trợ .NET Framework 3.5, mang đến các tính năng mạnh mẽ như LINQ (Language-Integrated Query), cho phép viết truy vấn dữ liệu trực tiếp trong C#.
  • Các phiên bản chính (Editions):
    • Express: Phiên bản miễn phí, gọn nhẹ, dành cho người mới học hoặc phát triển các ứng dụng nhỏ.
    • Standard: Phiên bản cơ bản, cung cấp các tính năng cần thiết cho phát triển ứng dụng.
    • Professional: Phiên bản chuyên nghiệp, bổ sung nhiều công cụ hỗ trợ (ví dụ: tích hợp SQL Server).
    • Team System: Phiên bản cao cấp nhất, dành cho các nhóm phát triển lớn, hỗ trợ quản lý vòng đời ứng dụng (ALM).

1.3. Các loại ứng dụng dùng C#

C# là ngôn ngữ đa năng, có thể dùng để xây dựng nhiều loại ứng dụng:

  • Windows Forms Applications: Ứng dụng desktop cổ điển cho Windows, (Đây là trọng tâm của môn học này).
  • WPF (Windows Presentation Foundation): Ứng dụng desktop thế hệ mới với giao diện đồ họa mạnh mẽ hơn.
  • Web Applications (ASP.NET): Xây dựng các trang web động và dịch vụ web.
  • Console Applications: Ứng dụng chạy trên màn hình dòng lệnh (command-prompt).
  • Class Libraries: Tạo các thư viện .dll để tái sử dụng trong nhiều dự án khác.

1.4. Cấu trúc chương trình C# 2008

Một chương trình C# cơ bản (Console Application) có cấu trúc như sau:

  • Ví dụ (Hello World):

C#

// 1. Khai báo sử dụng thư viện (namespace)

using System;

// 2. Định nghĩa một không gian tên (namespace) cho dự án

namespace HelloWorldApp

{

    // 3. Định nghĩa một lớp (class)

    class Program

    {

        // 4. Phương thức Main – Điểm khởi chạy của chương trình

        static void Main(string[] args)

        {

            // 5. Câu lệnh thực thi

            Console.WriteLine(“Chao mung den voi C# 2008!”);

 

            // Dừng màn hình để xem kết quả

            Console.ReadKey();

        }

    }

}

  • Giải thích:
  1. using System;: Khai báo “vay mượn” các lớp trong namespace System (ví dụ: lớp Console).
  2. namespace HelloWorldApp: Tạo một “phạm vi” để tổ chức các lớp, tránh trùng tên.
  3. class Program: Mọi mã lệnh C# đều phải nằm trong một lớp.
  4. static void Main(string[] args): Đây là phương thức chính. Khi chương trình chạy, CLR sẽ tìm và thực thi phương thức Main đầu tiên.
  5. WriteLine(…): Gọi phương thức WriteLine (nằm trong lớp Console của namespace System) để in một dòng chữ ra màn hình.

1.5. Cấu trúc thư mục của chương trình

Khi bạn tạo một dự án (Project) trong Visual Studio, nó sẽ tự động tạo ra một cấu trúc thư mục và tệp tin:

  • Solution (‘*.sln’): Tệp tin quản lý toàn bộ giải pháp, có thể chứa một hoặc nhiều Project.
  • Project (‘*.csproj’): Tệp tin dự án (ví dụ: HelloWorldApp.csproj), quản lý các tệp tin mã nguồn và tài nguyên của dự án đó.
  • bin/: Thư mục chứa kết quả sau khi biên dịch (file .exe, .dll).
    • Debug/: Chứa file thực thi dùng cho việc gỡ lỗi (có thông tin debug).
    • Release/: Chứa file thực thi đã tối ưu hóa, dùng để phát hành.
  • obj/: Thư mục chứa các tệp tin tạm thời, phát sinh trong quá trình biên dịch.
  • Program.cs: Tệp tin mã nguồn C# (chứa code ở ví dụ trên).
  • Properties/: Chứa các tệp tin cấu hình của dự án (ví dụ: AssemblyInfo.cs – chứa thông tin phiên bản).

Bài tập thực hành (1 giờ)

Mục tiêu: Làm quen với môi trường, chuẩn bị cho bài học tiếp theo.

Bài tập 1.1: Kiểm tra cài đặt .NET Framework.

    • Mở Command Prompt (gõ cmd trong Start).
    • Gõ lệnh csc. Nếu hệ thống hiển thị thông tin về trình biên dịch C# (Microsoft… C# Compiler…), máy đã cài đặt .NET Framework.

Hướng dẫn

Bước 1: Mở Command Prompt

Đây là công cụ dòng lệnh của Windows.

  1. Nhấn phím Windows trên bàn phím (hoặc nhấp vào biểu tượng Start <img> ở góc màn hình).

  2. Gõ 3 chữ cái: cmd

  3. Một kết quả tìm kiếm sẽ hiện lên tên là Command Prompt. Hãy nhấp chuột vào đó.

Một cửa sổ màu đen sẽ xuất hiện, đây chính là Command Prompt.

Bước 2: Gõ lệnh csc

csc là viết tắt của “C# Compiler” (Trình biên dịch C#).

  1. Tại cửa sổ Command Prompt, bạn chỉ cần gõ đúng 3 chữ cái:

    csc
    
  2. Nhấn phím Enter trên bàn phím.

Bước 3: Đọc kết quả

Sau khi nhấn Enter, bạn sẽ thấy một trong hai kết quả sau:

✅ Kết quả 1: Đã cài đặt thành công

Nếu bạn thấy màn hình hiển thị nhiều dòng chữ, bắt đầu bằng: Microsoft (R) Visual C# Compiler... (hoặc một thông báo tương tự có chứa “Microsoft” và “Compiler”)

  • Ý nghĩa: Xin chúc mừng! Máy tính của bạn đã cài đặt .NET Framework và trình biên dịch C# đã sẵn sàng.

❌ Kết quả 2: Chưa cài đặt hoặc cài lỗi

Nếu bạn thấy một dòng thông báo lỗi, phổ biến nhất là: 'csc' is not recognized as an internal or external command, operable program or batch file.

  • Ý nghĩa: Lệnh csc không được tìm thấy. Điều này có thể do:

    • Bạn chưa cài đặt .NET Framework hoặc Visual Studio.

    • Bạn đã cài đặt, nhưng hệ thống chưa cập nhật “Biến môi trường” (Environment Path) để nhận diện lệnh này

Bài tập 1.2: Khởi động và khám phá Visual Studio 2008.

    • Khởi động Visual Studio 2008.
    • Quan sát màn hình Start Page.
    • Thử tạo một dự án mới: File -> New -> Project….
    • Chọn Visual C# -> Console Application.
    • Đặt tên dự án là BaiTap1 và nhấn OK.
    • Quan sát các tệp tin được tạo ra trong cửa sổ Solution Explorer (Bài 2 sẽ học kỹ).

Hướng dẫn

Bước 1: Khởi động Visual Studio 2008

  1. Nhấn phím Windows trên bàn phím (hoặc nhấp vào biểu tượng Start <img> ở góc màn hình).

  2. Visual Studio 2008 (hoặc Microsoft Visual Studio 2008).

  3. Nhấp vào kết quả Microsoft Visual Studio 2008 để khởi động chương trình.

Bước 2: Quan sát màn hình Start Page

  1. Sau khi khởi động, bạn sẽ thấy màn hình chào mừng, gọi là Start Page (Trang Khởi động).

    • Quan sát: Màn hình này thường hiển thị các dự án bạn đã mở gần đây (Recent Projects) và các tin tức, hướng dẫn từ Microsoft.

Bước 3: Tạo một dự án mới (New Project)

  1. Trên thanh menu ở góc trên cùng bên trái, nhấp vào File.

  2. Trong menu thả xuống, chọn New.

  3. Một menu con xuất hiện, nhấp vào Project….

Thao tác này (File -> New -> Project…) sẽ mở ra cửa sổ “New Project”.

Bước 4: Chọn loại dự án (Console Application)

Bây giờ bạn đang ở cửa sổ “New Project”.

* Khung bên trái (Project types): Tìm và nhấp chọn Visual C#. (Nó có thể nằm trong một mục “Other Languages” hoặc “Visual C#” tùy phiên bản).

* Khung bên phải (Templates): Tìm và nhấp chọn Console Application. Đây là loại dự án đơn giản nhất, chạy bằng dòng lệnh.

Bước 5: Đặt tên và tạo dự án

  1. Vẫn ở cửa sổ “New Project”, nhìn xuống phía dưới.

  2. Bạn sẽ thấy một ô có tên là Name:.

  3. Gõ tên dự án chính xác là BaiTap1.

  4. Nhấn nút OK.

Bước 6: Quan sát cửa sổ Solution Explorer

  1. Visual Studio sẽ mất vài giây để tạo dự án. Sau khi xong, bạn sẽ thấy giao diện viết mã.

  2. Hãy nhìn sang phía bên phải màn hình, bạn sẽ thấy một cửa sổ tên là Solution Explorer.

    • Quan sát: Đây là nơi quản lý tất cả các tệp tin trong dự án của bạn.

    • Bạn sẽ thấy:

      • Solution 'BaiTap1' (Đây là giải pháp, có thể chứa nhiều dự án).

      • Bên trong là BaiTap1 (Đây là dự án của bạn).

      • Bên trong dự án, bạn sẽ thấy các tệp tin như:

        • Properties

        • References

        • Program.cs (Đây là tệp tin chứa mã nguồn C# chính của bạn).

Bài tập 1.3: Chạy chương trình “Hello World”.

    • Trong tệp Program.cs vừa tạo, gõ lại đoạn mã ở mục 2.4 (Ví dụ Hello World).
    • Nhấn phím F5 để biên dịch và chạy chương trình.
    • Quan sát kết quả hiển thị trên màn hình console.

Hướng dẫn

Bước 1: Mở tệp mã nguồn Program.cs

  1. Từ Bài tập 1.2, bạn đang có cửa sổ Visual Studio 2008 đang mở.

  2. Hãy nhìn vào cửa sổ Solution Explorer (thường ở bên phải).

  3. Tìm tệp tin có tên Program.csnhấp đúp chuột (double-click) vào nó.

Một cửa sổ soạn thảo mã lệnh (code editor) sẽ mở ra ở khu vực chính, hiển thị một số mã lệnh C# đã được tạo sẵn.

Bước 2: Gõ mã lệnh “Hello World”

  1. Hãy xóa toàn bộ nội dung mã lệnh cũ đang có trong tệp Program.cs.

  2. Gõ (hoặc sao chép) chính xác đoạn mã sau đây vào cửa sổ soạn thảo. Đảm bảo namespaceBaiTap1 (khớp với tên dự án bạn đã tạo).

    C#
    // 1. Khai báo sử dụng thư viện (namespace)
    using System;
    
    // 2. Định nghĩa một không gian tên (namespace) cho dự án
    namespace BaiTap1
    {
        // 3. Định nghĩa một lớp (class)
        class Program
        {
            // 4. Phương thức Main - Điểm khởi chạy của chương trình
            static void Main(string[] args)
            {
                // 5. Câu lệnh thực thi
                Console.WriteLine("Chao mung den voi C# 2008!");
    
                // Dừng màn hình để xem kết quả
                Console.ReadKey();
            }
        }
    }
    

Giải thích quan trọng:

  • Console.WriteLine(...) là lệnh để in một dòng chữ ra màn hình.

  • Console.ReadKey(); là lệnh yêu cầu chương trình dừng lại và đợi người dùng nhấn một phím bất kỳ. Nếu không có lệnh này, chương trình sẽ chạy, in chữ ra rất nhanh rồi tắt ngay lập tức, khiến bạn không thể xem được kết quả.

Bước 3: Biên dịch và Chạy chương trình

  1. Sau khi gõ xong mã lệnh, hãy nhấn phím F5 trên bàn phím của bạn.

  2. (Hoặc) Bạn cũng có thể nhấp vào biểu tượng tam giác màu xanh lá cây <img> (có chữ Start Debugging) trên thanh công cụ.

Phím F5 sẽ tự động lưu, biên dịch (kiểm tra lỗi) và chạy chương trình của bạn.

Bước 4: Quan sát kết quả

  1. Nếu bạn gõ đúng, một cửa sổ Console (màu đen) sẽ xuất hiện.

  2. Bạn sẽ thấy dòng chữ:

    Chao mung den voi C# 2008!
    
  3. Con trỏ chuột sẽ nhấp nháy ở dòng dưới. Đây là do lệnh Console.ReadKey() đang đợi bạn.

  4. Nhấn một phím bất kỳ (ví dụ: phím Enter) để kết thúc chương trình và đóng cửa sổ Console.

Câu hỏi ôn tập

  1. CLR và FCL là gì? Vai trò của chúng trong .NET Framework?
  2. Visual Studio 2008 là gì? Nó có phải là ngôn ngữ lập trình không?
  3. Phương thức Main trong chương trình C# có vai trò gì?
  4. Lệnh using System; có ý nghĩa gì?
  5. Sự khác biệt giữa tệp Solution (.sln) và tệp Project (.csproj)?
  6. Thư mục bin và obj dùng để chứa gì?