Trình biên dịch và gỡ lỗi C# online

Viết, biên dịch, chạy và debug C# online. Đặt breakpoint, step into hoặc step over và xem biến cùng object lồng nhau trong IDE hỗ trợ nhiều tệp, lưu workspace, chia sẻ và cộng tác trực tiếp - không cần cài đặt.

Thư viện cài đặt sẵn
🚀 364,291 tổng số lượt thực thi (13,545 trong tháng này)
Nhúng
Kết quả

Luyện C# với thử thách lập trình

Giải các bài tập thực tế ngay trên trình soạn thảo này: chạy kiểm thử mẫu, nộp bài và nhận đánh giá code từ AI.

Tất cả thử thách C#
Dễ

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Bạn sẽ học Số họcGiá trị trả về
BeginnerLearning-pathVariables
Dễ

Distance Between Points

Compute the straight-line distance between two points.

Bạn sẽ học Định lý PythagoreCăn bậc hai
BeginnerFunctionsLearning-pathmath
Dễ

Trung Bình Của Ba Số

Tính trung bình cộng của ba số nguyên.

Bạn sẽ học Số họcPhép chia
BeginnerLearning-pathVariables
Dễ

Days in a Month

Return how many days a month has, including leap years.

Bạn sẽ học Quy tắc lịchHàm phụ trợ
BeginnerConditionsFunctionsLearning-path
Dễ

Tích vô hướng của hai vector

Nhân hai vector theo từng phần tử rồi cộng kết quả lại, phép tính cốt lõi của mọi nơ-ron.

Bạn sẽ học VectorTích vô hướng
Mạng nơ-rontrí tuệ nhân tạohọc máy
Dễ

Kiểm Tra Số Nguyên Tố

Xác định xem một số có phải là số nguyên tố hay không.

Bạn sẽ học Tính chia hếtTối ưu vòng lặp
BeginnerLoopsNumbersStudent-beginner
Dễ

Số Armstrong

Kiểm tra một số có bằng tổng các chữ số của nó lũy thừa lên số lượng chữ số hay không.

Bạn sẽ học Tách chữ sốLũy thừa
BeginnerNumbersStudent-beginner
Dễ

Số Lớn Nhất Trong Ba Số

Chọn số lớn nhất trong ba số mà không dùng hàm max có sẵn.

Bạn sẽ học So sánhKết hợp điều kiện
BeginnerConditionsLearning-path
Dễ

Tam giác số

Xây dựng một tam giác các số tăng dần.

Bạn sẽ học Hàng tăng dầnBiến đếm qua các hàng
BeginnerLearning-pathNested-loopsPatterns
Dễ

Row Sums

Add up every row of a grid.

Bạn sẽ học Danh sách 2 chiềuVòng lặp lồng nhau
BeginnerGridsLearning-path
Dễ

Sum of Odd Numbers

Add every odd number up to a limit.

Bạn sẽ học Vòng lặp forBiến cộng dồn
BeginnerLearning-pathLoops
Dễ

Danh sách việc cần làm

Quản lý danh sách công việc: thêm, đánh dấu xong, xóa và báo những việc còn lại.

Bạn sẽ học Collection có kiểuRecord
BeginnerSimulationStrings

🔷 Giới thiệu về Trình thực thi C# / .NET trực tuyến này

CodeUtility C# Executor cho phép bạn viết và chạy mã C# thật trực tiếp trong trình duyệt - không cần cài đặt, thiết lập Visual Studio hay .NET SDK. Công cụ này được vận hành bởi môi trường sandbox an toàn hỗ trợ .NET runtime và các phiên bản C# hiện đại, bao gồm C# 9 trở lên.

Công cụ này dùng dotnet-script phía dưới để biên dịch và thực thi mã của bạn với đúng hành vi .NET, cho phép bạn thử nghiệm cả các tính năng C# cơ bản lẫn nâng cao như LINQ, async/await, pattern matching và generics.

Bạn có thể thử các script đơn giản, hàm và luồng logic, hoặc khám phá các khái niệm như class, struct, kế thừa và interface - tất cả trong một môi trường code sạch, không xao nhãng.

Dù bạn đang học C#, kiểm thử thuật toán hay thử nghiệm các tính năng .NET, CodeUtility C# Executor mang đến cách chạy mã C# nhanh, an toàn và tin cậy ngay từ bất kỳ trình duyệt nào.

Không chỉ là công cụ chạy mã

Sử dụng trình soạn thảo nhiều tệp, terminal thực thi biệt lập, thư viện riêng theo môi trường chạy, không gian làm việc lâu dài, tính năng chia sẻ và cộng tác theo thời gian thực ngay trong cùng một trình thực thi.

Cách sử dụng trình thực thi này?

Chọn môi trường chạy, mở hoặc tạo tệp, viết mã rồi nhấn Chạy. Kết quả xuất hiện trong terminal; người dùng đã đăng nhập có thể lưu tệp trong không gian làm việc, cài thư viện và cộng tác qua liên kết chia sẻ.

  1. Chọn phiên bản rồi chỉnh sửa tệp hiện tại hoặc mở một tệp khác trong không gian làm việc.
  2. Chạy mã, nhập dữ liệu trong terminal khi được yêu cầu và xem lại lịch sử chạy đã lưu.
  3. Sử dụng thư viện, công cụ không gian làm việc, chia sẻ và trò chuyện khi tác vụ cần nhiều hơn một đoạn mã.

💡 C# cơ bản & ví dụ bạn có thể thử ở trên

1. Khai báo biến và hằng số

C# sử dụng khai báo biến kiểu tĩnh (strongly-typed). Dùng const cho hằng số tại thời điểm biên dịch và readonly cho hằng số tại thời điểm chạy.

int age = 30;
double pi = 3.14159;
char grade = 'A';
string name = "Alice";
bool isActive = true;

// Hằng số
const int MaxUsers = 100;
const string Company = "CodeUtility";

2. Cấu trúc điều kiện (if / switch)

Dùng if, else if và switch để điều khiển luồng.

int x = 2;
if (x == 1)
{
    Console.WriteLine("Một");
}
else if (x == 2)
{
    Console.WriteLine("Hai");
}
else
{
    Console.WriteLine("Khác");
}

switch (x)
{
    case 1:
        Console.WriteLine("Một");
        break;
    case 2:
        Console.WriteLine("Hai");
        break;
    default:
        Console.WriteLine("Khác");
        break;
}

3. Vòng lặp

C# hỗ trợ các vòng lặp for, while và foreach.

for (int i = 0; i < 3; i++)
{
    Console.WriteLine(i);
}

int n = 3;
while (n > 0)
{
    Console.WriteLine(n);
    n--;
}

4. Mảng

Mảng lưu trữ tập hợp có kích thước cố định gồm các phần tử cùng kiểu.

int[] numbers = { 10, 20, 30 };
Console.WriteLine(numbers[1]);

5. Thao tác với List

Dùng List<T> cho các tập hợp động.

List<int> nums = new List<int> { 1, 2, 3 };
nums.Add(4);
nums.Remove(2);

foreach (int n in nums)
{
    Console.Write(n + " ");
}

6. Nhập/Xuất Console

Dùng Console.WriteLine và Console.ReadLine cho I/O cơ bản.

Console.Write("Nhập tên của bạn: ");
string name = Console.ReadLine();
Console.WriteLine($"Xin chào, {name}!");

7. Hàm

Định nghĩa phương thức với kiểu trả về, tên và tham số.

int Add(int a, int b)
{
    return a + b;
}

Console.WriteLine(Add(3, 4));

8. Từ điển (Dictionary)

Dictionary<TKey, TValue> lưu trữ các cặp khóa-giá trị.

Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Alice"] = 30;
Console.WriteLine(ages["Alice"]);

9. Xử lý ngoại lệ

Xử lý lỗi thời gian chạy bằng try, catch và finally.

try
{
    throw new Exception("Đã có lỗi xảy ra");
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

10. I/O Tệp

Dùng File và StreamReader/StreamWriter cho các thao tác với tệp.

File.WriteAllText("file.txt", "Xin chào Tệp");
string text = File.ReadAllText("file.txt");
Console.WriteLine(text);

11. Xử lý chuỗi

Chuỗi C# hỗ trợ các phương thức như Length, Substring, Contains.

string message = "Xin chào Thế giới";
Console.WriteLine(message.Length);
Console.WriteLine(message.Substring(0, 5));
Console.WriteLine(message.Contains("World"));

12. Lớp & Đối tượng

C# hỗ trợ lập trình hướng đối tượng thông qua class và object.

class Person
{
    public string Name;
    public Person(string name) => Name = name;
    public void Greet() => Console.WriteLine($"Xin chào, tôi là {Name}");
}

Person p = new Person("Alice");
p.Greet();