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

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

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

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

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

Все задачи на C#
Легко

Среднее из трёх

Вычислите среднее трёх целых чисел.

Вы освоите АрифметикаДеление
BeginnerLearning-pathVariables
Легко

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Вы освоите АрифметикаВозвращаемые значения
BeginnerLearning-pathVariables
Средне

Одно поколение генетического алгоритма

Выведите следующее поколение битовых строк с помощью турнирного отбора, одноточечного скрещивания и мутации.

Вы освоите Генетические алгоритмыЭволюционный поиск
OptimizationSimulationискусственный интеллект
Пока нет решений
Легко

Многорукий бандит с эпсилон-жадной стратегией

Найдите баланс между исследованием и использованием в задаче многорукого бандита с эпсилон-жадным выбором действий.

Вы освоите Исследование и использованиеБандиты
Обучение с подкреплениемискусственный интеллектмашинное обучение
Пока нет решений
Средне

Итерация по ценностям

Вычислите ценность каждого состояния марковского процесса принятия решений, многократно применяя оптимальное обновление Беллмана.

Вы освоите Уравнение БеллманаMDP
Обучение с подкреплениемискусственный интеллектмашинное обучение
Пока нет решений
Средне

Обновления Q-learning

Примените обновление Q-learning к потоку опыта и посмотрите, как награды распространяются назад к предыдущим состояниям.

Вы освоите Q-learningДисконтированные награды
Обучение с подкреплениемискусственный интеллектмашинное обучение
Пока нет решений
Средне

Альфа-бета отсечение

Оцените дерево игры минимаксом с альфа-бета отсечением и посчитайте, сколько листьев поиск действительно просмотрел.

Вы освоите Альфа-бета отсечениеПоиск в играх
RecursionTreesискусственный интеллект
Пока нет решений
Средне

Крестики-нолики с минимаксом

Выберите идеальный ход в крестиках-ноликах, перебрав всё дерево игры минимаксом.

Вы освоите МинимаксДеревья игры
Recursionискусственный интеллект
Пока нет решений
Средне

Поиск A* на взвешенной сетке

Найдите самый дешёвый путь через сетку стоимостей местности с помощью A* — алгоритма поиска, на котором строится навигация в играх и робототехнике.

Вы освоите Поиск A*Эвристики
GraphsGridsShortest-pathискусственный интеллект
Пока нет решений
Средне

Сэмплирование с температурой и top-k

Выберите следующий токен как языковая модель: оставьте k наибольших логитов, примените температуру и сделайте выборку.

Вы освоите Генерация текстаСэмплирование
искусственный интеллектмашинное обучение
Пока нет решений
Сложно

Многоголовое самовнимание

Спроецируйте вход в запросы, ключи и значения, выполните внимание в нескольких головах параллельно и объедините их.

Вы освоите Многоголовое вниманиеМатричные проекции
искусственный интеллектмашинное обучение
Пока нет решений
Средне

Нормализация слоя

Нормализуйте каждую строку к среднему 0 и дисперсии 1, затем масштабируйте и сдвиньте, как делает каждый блок Transformer.

Вы освоите Нормализация слояTransformer
Нейронные сетиискусственный интеллектмашинное обучение
Пока нет решений

🔷 Об этом онлайн-исполнителе 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();