Polymorphism

Просматривайте, запускайте и изменяйте Polymorphism в онлайн-IDE C# от CodeUtility.

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

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

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

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

Скалярное произведение двух векторов

Перемножьте два вектора поэлементно и сложите результаты — это основная операция любого нейрона.

Вы освоите ВекторыСкалярное произведение
Нейронные сетиискусственный интеллектмашинное обучение
Легко

Distance Between Points

Compute the straight-line distance between two points.

Вы освоите Теорема ПифагораКвадратные корни
BeginnerFunctionsLearning-pathmath
Легко

Подсчёт пар с заданной суммой

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

Вы освоите Пары индексовБез двойного счёта
ArraysBeginnerLearning-pathNested-loops
Легко

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

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

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

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

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

Соединение клиентов и заказов

Соедините клиентов с их заказами, как в LINQ Join, и выведите общую сумму покупок каждого.

Вы освоите LINQ JoinГруппировка
ArraysSorting
Пока нет решений
Легко

Список дел

Ведите список задач: добавляйте, отмечайте выполненными, удаляйте и сообщайте, что осталось.

Вы освоите Типизированные коллекцииЗаписи (record)
BeginnerSimulationStrings
Пока нет решений
Легко

Операции со связным списком

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

Вы освоите Связные спискиМоделирование
Data-structuresSimulation
Пока нет решений
Легко

Сумма плоского объекта JSON

Разберите плоский JSON-объект, чьи значения — целые числа, и сложите эти значения.

Вы освоите Разбор JSONРазбиение строк
ParsingStrings
Пока нет решений
Легко

Общее время с WhenAll

Определите, сколько времени занимает программа, когда каждая группа задач выполняется вместе с Task.WhenAll, а группы идут одна за другой.

Вы освоите Async/awaitTask.WhenAll
ArraysBeginner
Пока нет решений
Средне

Порядок завершения параллельных задач

Запустите задачи одновременно, не более чем по k за раз, и сообщите порядок, в котором они завершаются.

Вы освоите ПараллелизмОчереди с приоритетом
SimulationSorting
Пока нет решений
Средне

Стек с минимумом

Постройте стек, который мгновенно сообщает свой наименьший элемент после любого push или pop.

Вы освоите СтекиТекущий минимум
Data-structuresStacks
Пока нет решений

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