Онлайн-компилятор и отладчик C#

Пишите, компилируйте, запускайте и отлаживайте C# онлайн. Используйте точки останова, пошаговое выполнение и просмотр объектов в многофайловой IDE без Visual Studio.

Предустановленные библиотеки
🚀 349,461 всего выполнений (43,719 в этом месяце)
Вывод

Практикуйте C# на задачах

Решайте задачи прямо в редакторе: запускайте тесты, отправляйте решение и получайте AI-рецензию.

Все задачи на C#
Сложно

Course Schedule Order

Order courses so every prerequisite comes first.

AdvancedGraphsHackathonTopological-sort
Пока нет решений
Средне

Island Perimeter

Measure the coastline of land cells in a grid.

AdvancedGridsHackathon
Пока нет решений
Средне

K-th Smallest Element

Find the k-th smallest value without fully sorting.

AdvancedCompetitive-programmingSorting
Пока нет решений
Сложно

Median of Two Sorted Arrays

Find the median of two sorted lists combined.

AdvancedBinary-searchCompetitive-programming
Пока нет решений
Средне

Шаг игры «Жизнь»

Выполните один шаг игры «Жизнь» Конвея.

AdvancedGridsHackathonSimulation
Пока нет решений
Сложно

Shortest Delivery Tour

Visit every city once and return home as cheaply as possible.

AdvancedBitmasksCompetitive-programmingDynamic-programming
Пока нет решений
Сложно

Strongly Connected Components

Count groups of nodes that can all reach each other.

AdvancedCompetitive-programmingGraphs
Пока нет решений
Сложно

Longest Path in a DAG

Find the heaviest path in a task dependency graph.

AdvancedGraphsHackathonTopological-sort
Пока нет решений
Сложно

Matrix Chain Multiplication

Find the cheapest order to multiply a chain of matrices.

AdvancedCompetitive-programmingDynamic-programming
Пока нет решений
Сложно

Minimum Window Substring

Find the shortest piece of text containing all required characters.

AdvancedCompetitive-programmingSliding-windowStrings
Пока нет решений
Сложно

Word Break

Decide whether text can be split into dictionary words.

AdvancedDynamic-programmingHackathonStrings
Пока нет решений
Сложно

Count Inversions

Count the out-of-order pairs in a list.

AdvancedCompetitive-programmingSorting
Пока нет решений

🔷 Об этом онлайн-исполнителе C# / .NET

CodeUtility C# Executor позволяет писать и запускать настоящий C#‑код прямо в браузере - без установки, настройки Visual Studio или .NET SDK. Он работает в защищенной песочнице с поддержкой .NET runtime и современных версий языка C#, включая C# 9 и новее.

Этот инструмент использует dotnet-script под капотом, чтобы компилировать и выполнять ваш код с реальным поведением .NET, позволяя экспериментировать как с базовыми, так и с продвинутыми возможностями C#, такими как LINQ, async/await, сопоставление с образцом и обобщения.

Вы можете тестировать простые скрипты, функции и логические конструкции или изучать концепции классов, структур, наследования и интерфейсов - все это в чистой, не отвлекающей среде для кодинга.

Независимо от того, изучаете ли вы C#, тестируете алгоритмы или экспериментируете с возможностями .NET, CodeUtility C# Executor дает вам быстрый, безопасный и надежный способ мгновенно запускать C#‑код из любого браузера.

Больше, чем средство запуска кода

Используйте в одном исполнителе многофайловый редактор, изолированный терминал выполнения, библиотеки для выбранной среды, постоянные рабочие пространства, общий доступ и совместную работу в реальном времени.

Как пользоваться этим исполнителем?

Выберите среду выполнения, откройте или создайте файл, напишите код и нажмите «Запустить». Результат появится в терминале. Пользователи, вошедшие в систему, могут хранить файлы в рабочем пространстве, устанавливать библиотеки и совместно работать через общие ресурсы.

  1. Выберите версию и отредактируйте текущий файл или откройте другой файл рабочего пространства.
  2. Запустите код, при необходимости введите данные в терминале и просмотрите сохранённую историю запусков.
  3. Используйте библиотеки, инструменты рабочего пространства, общий доступ и чат, когда для задачи требуется несколько фрагментов кода.

💡 Основы C# и примеры, которые можно попробовать выше

1. Объявление переменных и констант

В C# используется строгая типизация переменных. Применяйте const для констант времени компиляции и readonly для констант времени выполнения.

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

// Константы
const int MaxUsers = 100;
const string Company = "CodeUtility";

2. Условия (if / switch)

Используйте if, else if и switch для управления потоком выполнения.

int x = 2;
if (x == 1)
{
    Console.WriteLine("Один");
}
else if (x == 2)
{
    Console.WriteLine("Два");
}
else
{
    Console.WriteLine("Другое");
}

switch (x)
{
    case 1:
        Console.WriteLine("Один");
        break;
    case 2:
        Console.WriteLine("Два");
        break;
    default:
        Console.WriteLine("Другое");
        break;
}

3. Циклы

В C# поддерживаются циклы for, while и foreach.

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

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

4. Массивы

Массивы хранят коллекции фиксированного размера из элементов одного типа.

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

5. Работа со списками

Используйте List<T> для динамических коллекций.

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

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

6. Ввод/вывод в консоли

Используйте Console.WriteLine и Console.ReadLine для базового ввода-вывода.

Console.Write("Введите ваше имя: ");
string name = Console.ReadLine();
Console.WriteLine($"Привет, {name}!");

7. Функции

Определяйте методы, указывая тип возвращаемого значения, имя и параметры.

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

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

8. Словари

Dictionary<TKey, TValue> хранит пары ключ-значение.

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

9. Обработка исключений

Обрабатывайте ошибки времени выполнения с помощью try, catch и finally.

try
{
    throw new Exception("Что-то пошло не так");
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

10. Работа с файлами

Используйте File и StreamReader/StreamWriter для операций с файлами.

File.WriteAllText("file.txt", "Привет, файл");
string text = File.ReadAllText("file.txt");
Console.WriteLine(text);

11. Работа со строками

Строки в C# поддерживают методы Length, Substring, Contains и другие.

string message = "Hello World";
Console.WriteLine(message.Length);
Console.WriteLine(message.Substring(0, 5));
Console.WriteLine(message.Contains("World"));

12. Классы и объекты

C# поддерживает объектно-ориентированное программирование через классы и объекты.

class Person
{
    public string Name;
    public Person(string name) => Name = name;
    public void Greet() => Console.WriteLine($"Привет, я {Name}");
}

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