Thẻ học C#

Nhà tài trợ chuyên mục

C# là một ngôn ngữ lập trình hướng đối tượng đa năng được tạo ra bởi Anders Hejlsberg tại Microsoft. Đây là một ngôn ngữ chính của nền tảng .NET, được thiết kế để phát triển một loạt các ứng dụng, từ máy tính để bàn đến web và di động. C# nổi bật với kiểu dữ liệu mạnh và một bộ tính năng phong phú, cho phép phát triển hiệu quả cả các tập lệnh đơn giản và hệ thống doanh nghiệp phức tạp. Ngôn ngữ này cung cấp các cơ chế nâng cao như LINQ, lập trình bất đồng bộ và thu gom rác, cung cấp cho nhà phát triển các công cụ để viết mã an toàn, hiệu quả và dễ bảo trì. C# cũng hỗ trợ tích hợp với các công nghệ Microsoft khác nhau và phát triển liên tục, duy trì tính nhất quán cú pháp và cho phép phát triển các ứng dụng hiện đại, có thể mở rộng trên các nền tảng khác nhau.

Ứng dụng thẻ học của chúng tôi bao gồm các câu hỏi phỏng vấn C# được chọn lọc kỹ lưỡng với câu trả lời chi tiết sẽ chuẩn bị hiệu quả cho bạn cho bất kỳ cuộc phỏng vấn nào yêu cầu kiến thức về C#. IT Flashcards không chỉ là một công cụ cho những người tìm việc - đó là một cách tuyệt vời để củng cố và kiểm tra kiến thức của bạn, bất kể kế hoạch nghề nghiệp hiện tại của bạn là gì. Sử dụng ứng dụng thường xuyên sẽ giúp bạn cập nhật với những xu hướng C# mới nhất và giữ kỹ năng của bạn ở mức cao.

Thẻ học C# mẫu từ ứng dụng của chúng tôi

Tải xuống ứng dụng của chúng tôi từ App Store hoặc Google Play để nhận thêm flashcard miễn phí hoặc đăng ký để truy cập vào tất cả flashcard.

Namespace trong C# là gì và nó được dùng để làm gì?

Một không gian tên trong C# là cách để nhóm các lớp, cấu trúc, giao diện, cũng như các không gian tên khác liên quan. Nhờ có không gian tên, có thể tránh được xung đột tên giữa các lớp có thể có cùng tên nhưng lại thuộc về các không gian tên khác nhau.

Không gian tên được khai báo bằng từ khóa "namespace" và tạo ra một phạm vi mới nơi các lớp, cấu trúc và giao diện tồn tại:
namespace MyNamespace
{
    class MyClass
    {
    }
}

Để chỉ đến một lớp trong một không gian tên cụ thể, bạn phải sử dụng tên đầy đủ của lớp, đó là tên của không gian tên, một dấu chấm, và tên của lớp:
MyNamespace.MyClass myObject = new MyNamespace.MyClass();

Để rút ngắn cách viết và tạo điều kiện sử dụng các lớp, cấu trúc, hoặc giao diện từ một không gian tên cụ thể, C# cung cấp từ khóa "using", cho phép nhập các không gian tên vào một tệp nhất định:
using MyNamespace;

MyClass myObject = new MyClass();

Trong ví dụ trên, việc sử dụng từ khóa "using" đã loại bỏ nhu cầu phải sử dụng tên đầy đủ của lớp `MyClass`. Không gian tên đã được nhập, điều này cho phép sử dụng trực tiếp lớp `MyClass`.

Làm thế nào để định nghĩa một biến trong C#?

C# là một ngôn ngữ lập trình kiểu mạnh, có nghĩa là mỗi biến phải có một loại được chỉ định. Dưới đây là cách định nghĩa một biến trong C#.

Điều đầu tiên bạn cần làm là khai báo loại của biến. Bạn có thể làm điều này bằng cách viết tên của loại, theo sau là tên của biến. Ví dụ:
int numberOfApples;

Trong trường hợp này, `numberOfApples` là một biến có thể lưu trữ các giá trị nguyên (`int`). Biến này chưa được khởi tạo, có nghĩa là nó chưa có giá trị được gán.

Bạn cũng có thể khởi tạo một biến khi khai báo nó, như được hiển thị dưới đây:
int numberOfApples = 5;

Trong trường hợp này, biến `numberOfApples` được khởi tạo với giá trị 5.

C# cũng đã giới thiệu một từ khóa `var`, cho phép trình biên dịch xác định loại của biến dựa trên giá trị được gán trong quá trình khởi tạo. Bạn có thể khởi tạo một biến theo cách này:
var numberOfApples = 5; // Trình biên dịch sẽ xác định rằng numberOfApples là của loại int

Tuy nhiên, hãy nhớ rằng một biến được khai báo bằng `var` phải được khởi tạo vào thời điểm khai báo.

Giải thích sự khác biệt giữa các kiểu giá trị và kiểu tham chiếu trong C#

Các kiểu giá trị và kiểu tham chiếu trong C# là hai kiểu cơ bản mà chúng ta có thể chạy trong ngôn ngữ lập trình này.

Kiểu giá trị là những kiểu lưu trữ trực tiếp giá trị. Điều này có nghĩa là khi bạn gán một giá trị cho một biến của kiểu này, bạn sẽ tạo ra một bản sao vật lý của giá trị đó. Việc thay đổi một bản sao không ảnh hưởng đến bản sao khác. Các kiểu giá trị được lưu trữ trên ngăn xếp. Ví dụ về các kiểu giá trị bao gồm các kiểu cơ bản (độc lập với các cấu trúc) như int, float, bool, các kiểu liệt kê và các cấu trúc.
int val1 = 10;
int val2 = val1;
val1 = 20;

// Đầu ra: 10, bởi vì việc thay đổi giá trị của val1 không ảnh hưởng đến val2.
Console.WriteLine(val2);

Mặt khác, các kiểu tham chiếu lưu trữ một tham chiếu đến nơi giá trị thực tế được lưu trữ, không phải giá trị thực tế. Hai biến có thể tham chiếu đến cùng một đối tượng, vì vậy việc thay đổi giá trị của một biến ảnh hưởng đến biến khác. Các kiểu tham chiếu được lưu trữ trong heap. Ví dụ bao gồm các lớp, đại diện, giao diện.
StringBuilder sb1 = new StringBuilder("Hello");
StringBuilder sb2 = sb1;
sb1.Append(" World");

// Đầu ra: "Hello World", bởi vì cả hai biến tham chiếu đến cùng một đối tượng.
Console.WriteLine(sb2);

Nullable trong C# là gì và làm thế nào để sử dụng nó

Nullable là một kiểu trong C#, cho phép việc áp dụng các giá trị null cho các kiểu giá trị. Thông thường, các kiểu giá trị, như int, float, bool, struct, enum, v.v., không thể là null. Nhưng nhờ vào kiểu Nullable, chúng ta có thể gán null cho các kiểu dữ liệu này.

Để tạo một biến Nullable, chúng ta có thể sử dụng toán tử '?' sau kiểu giá trị. Ví dụ:
int? i = null;

Chúng ta cũng có thể sử dụng cấu trúc Nullable dạng tổng quát:
Nullable<int> i = null;

System.Nullable cung cấp một số thuộc tính quan trọng hỗ trợ trong việc làm việc với kiểu Nullable:

- `HasValue`: Thuộc tính trả về true nếu biến chứa một giá trị, nếu không thì false.
- `Value`: Thuộc tính trả về giá trị của biến nếu nó chứa bất kỳ giá trị nào.
int? myNumber = null;
Console.WriteLine(myNumber.HasValue); // false
myNumber = 10;
Console.WriteLine(myNumber.HasValue); // true
Console.WriteLine(myNumber.Value); // 10

Tuy nhiên, hãy nhớ rằng nếu cố gắng truy cập vào thuộc tính Value khi biến không có giá trị được gán sẽ dẫn đến `InvalidOperationException`. Vì vậy, hãy luôn sử dụng `HasValue` trước khi bạn truy cập vào giá trị.

Tải xuống IT Flashcards Ngay bây giờ

Mở rộng kiến thức C# của bạn với các thẻ học của chúng tôi.
Từ các nguyên tắc lập trình cơ bản đến nắm vững các công nghệ tiên tiến, IT Flashcards là hộ chiếu để bạn đạt được xuất sắc trong CNTT.
Tải xuống ngay và mở khóa tiềm năng của bạn trong thế giới công nghệ cạnh tranh ngày nay.