Профессор Си
2.96K subscribers
94 photos
2 videos
111 links
Уроки, советы, новости C#.
Download Telegram
Хотите научиться создавать современные приложения на C# и понять, как работает объектно-ориентированное программирование?

📗 Присоединяйтесь к открытому уроку «Основы ООП на примере C#» 22 июля в 20:00 МСК. Мы разберем:

- Основные принципы ООП: инкапсуляция, наследование, полиморфизм и абстракция.
- Как эти принципы реализуются в языке C#.
- Практические примеры, синтаксис и типичные ошибки начинающих.

🔴 Этот урок — отличная тренировка перед курсом «C# Developer» от OTUS, который стартует совсем скоро. Все участники получат скидку на обучение.

Записаться на вебинар → https://vk.cc/cNScv4

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔥1
Задачка: Проверка наличия одинаковых регистров

Напишите функцию, которая возвращает true, если входная строка содержит только прописные или только строчные буквы.

Примеры:
SameCase("hello") ➞ true
SameCase("HELLO") ➞ true
SameCase("Hello") ➞ false

Пишите ваши варианты в комментариях. Ответ будет в канале завтра.

#задача
public class Program
{
public static bool SameCase(string str)
{
return str==str.ToUpper() | str==str.ToLower();
}
}

#задача #ответ
👎4👍3
Хотите создавать популярные игры? Unreal Engine — это движок, на котором разрабатываются такие хиты, как Fortnite, PUBG, Mortal Kombat 1 и Atomic Heart.

Время освоить Unreal Engine и стать частью геймдева.
Курс «Unreal Engine Game Developer. Basic» от OTUS — это практическое обучение для тех, кто хочет начать карьеру в геймдеве.

Мы обучим вас создавать игры с нуля: от разработки персонажей и окружений до программирования логики на C++ и Blueprints.
После обучения вы сможете проектировать игровые уровни, создавать интерактивных NPC, систему стрельбы и крафтинга, а также оптимизировать игру и устранять баги.

Старт 30 июля!

Оставьте заявку и получите скидку на обучение: https://vk.cc/cNU3HQ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
⌨️ Хотите стать экспертом в разработке на C# и .NET? Узнайте, как создать сложные приложения и микросервисы с нуля, используя лучшие практики и Scrum-методологию.

Курс «C# Developer. Professional» от OTUS — это погружение в реальную разработку: многопоточность, асинхронность, паттерны проектирования, LINQ и многое другое. Вы будете работать с SQL и NoSQL базами данных, кэшированием, Unit-тестами, CI/CD и многими другими инструментами, которые требуются для современного разработчика.

🦾 Курс рассчитан на C#-разработчиков, готовых двигаться от уровня Junior до Senior. Мы учим не только код, но и методологии разработки: TDD, DDD, Kanban, Waterfall, которые помогут вам писать более чистый и масштабируемый код. Реальные проекты и работа в Scrum-командах сделают вас готовыми к трудоустройству и карьерному росту.

➡️ Пройдите короткий тест и присоединяйтесь к группе: https://vk.cc/cNVmp6

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Задачка: Сколько гласных букв

Напишите функцию, которая принимает строку и возвращает количество (count) содержащихся в ней гласных букв.

Примеры:
CountVowels("Celebration") ➞ 5
CountVowels("Palm") ➞ 1
CountVowels("Prediction") ➞ 4

Пишите ваши варианты в комментариях. Ответ будет в канале завтра.

#задача
using System.Linq;
public class Program
{
public static int CountVowels(string str)
=> str.Count(a=>$"aeiouAEIOU".Contains(a));
}


#задача #ответ
Media is too big
VIEW IN TELEGRAM
😍 Мечтаете создать игру мечты? Мы научим этому на нашем курсе "Unreal Engine Game Developer. Basic" с нуля! Cтарт уже 30 июля. Стать студентом: https://vk.cc/cNWKp8

Неважно, на каком вы уровне и что знаете в геймдев. Наши опытные педагоги приведут вас к вашей первой игре и научат вcему, что знают сами. А еще наши студенты попали на реальные стажировки в проекты Red Star Games и не только. Все еще чего-то ждете?

🔓 Вперед к знаниям! Стать студентом курса со скидкой в 10%: https://vk.cc/cNWKp8

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Вопрос на засыпку. Почему нельзя указать модификаторы доступа для элементов в интерфейсе?

Ответ опубликуем вечером.

Пишите в комментариях ваш вариант!

#questions
1🤬1
Почему нельзя указать модификаторы доступа для элементов в интерфейсе?

Ответ:

Они всегда публичные, так как цель интерфейса – определение функционала для реализации его классом. Это касается также и констант и статических переменных, которые в классах и структурах по умолчанию имеют модификатор private. В интерфейсах же они имеют по умолчанию модификатор public.

#questions
Рефлексия тормозит приложения? Пора управлять компилятором!

Устали писать одинаковый код снова и снова? Рефлексия съедает производительность в рантайме, а генерация boilerplate-кода отнимает часы. Современный C# предлагает элегантное решение — заставить компилятор работать на вас.

🎥 Вебинар «Заставьте компилятор работать на вас: магия метапрограммирования с Source Generators в C#»
📅 6 августа, 20:00
👩‍🏫 Елена Сычева

Разберём на практике:
→ Почему рефлексия — узкое место и как Source Generators решают проблему на этапе компиляции
→ Устройство компилятора Roslyn: синтаксические деревья и семантическая модель
→ Live-coding первого Source Generator для избавления от рутинного кода
→ Применение генераторов в популярных библиотеках .NET 7+

Результат: вы научитесь создавать собственные генераторы кода, которые автоматизируют рутину и повышают производительность приложений без runtime-накладных расходов.

Вебинар проходит в рамках курса «C# углубленный» — участники получают эксклюзивные условия обучения.

Регистрация: https://vk.cc/cO82JC

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Задачка: Рекурсия для повторения строки n количество раз

Напишите рекурсивную функцию, которая принимает два параметра и повторяет строку n раз. Первый параметр txt - это повторяемая строка, а второй параметр - количество повторений строки.

Примеры:
Repetition("ab", 3) ➞ "ababab"
Repetition("kiwi", 1) ➞ "kiwi"
Repetition("cherry", 2) ➞ "cherrycherry"

Пишите ваши варианты в комментариях. Ответ будет в канале завтра.

#задача
public class Program
{
public static string Repetition(string txt, int n)
{
return n == 0 ? "" : txt + Repetition(txt, n - 1);
}
}


#задача #ответ
🤨4
Хотите разобраться в тестировании API на ASP.NET Core?

➡️ Присоединяйтесь к открытому уроку «Тестирование API в ASP.NET Core: Интеграция и Нагрузка» 5 августа в 20:00 МСК. На вебинаре мы:

- Разберем ключевые концепции интеграционного и нагрузочного тестирования.
- Научимся писать интеграционные тесты с популярными библиотеками.
- Освоим инструменты для нагрузочного тестирования и анализа результатов.

📗 Этот урок — отличная подготовка к курсу «C# ASP.NET Core разработчик», который стартует совсем скоро. Все участники вебинара получат скидку на обучение!

Записаться на вебинар → https://vk.cc/cOaj0K

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
1
Ваши коллеги уже изучают .NET 10 → а вы готовы остаться на старых версиях?

Каждый релиз .NET приносит десятки нововведений, которые меняют подходы к разработке. Пока одни программисты осваивают новый синтаксис C# 14 и возможности runtime, другие продолжают писать код «по-старому» и удивляются, почему их решения выглядят устаревшими.

.NET 10 — это не просто очередное обновление. Это LTS-версия, которая задаст стандарты разработки на ближайшие годы. Новый синтаксический сахар, field и extension в C# 14, обновления в MAUI и EF Core — всё это уже меняет то, как пишут современные приложения.

Вебинар «Что нового в .NET 10 для разработчиков» в рамках курса «C# углубленный»

18 августа, 20:00
→ Антон Герасименко

Программа:
→ Обзор ключевых нововведений .NET 10 и их практическое применение
→ Синтаксические конструкции C# 14: сахар, field, extension
→ Изменения в runtime и их влияние на производительность приложений
→ Новые возможности MAUI и EF Core для современной разработки

После вебинара вы поймёте, как адаптировать свой код под новые стандарты, сможете читать и писать современный C# код и не будете отставать от коллег, которые уже перешли на актуальные версии.

Бесплатная регистрация — займите место в числе первых: https://vk.cc/cOxyKS

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
⚙️ Микросервисы начинают тормозить под нагрузкой?

💡 Узнайте, как масштабировать и оптимизировать систему с помощью CQRS и Event Sourcing на .NET Aspire.

На открытом вебинаре «Оптимизация микросервисов с CQRS и Event Sourcing на .NET Aspire» 19 августа в 20:00 МСК разберем:
◽️ Ограничения классических микросервисов при высокой нагрузке.
◽️ Принципы разделения команд и запросов (CQRS) и хранения истории через Event Sourcing.
◽️ Практическую реализацию: сервис заказов с «команда-обработчик» и хранением событий в MongoDB.
◽️ Конфигурацию проекций для чтения данных.

❗️ Вы освоите оркестрацию через .NET Aspire (API Gateway, Order Service, база событий), внедрите логирование и трейсинг через OpenTelemetry, а также протестируете создание заказа, обновление статуса и визуализацию потока событий.

➡️ Посетите открытый урок и получите скидку на большое обучение «C# ASP.NET Core разработчик»: https://vk.cc/cOzzQu

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Вопрос на засыпку. В чем разница между циклами while и for?

Ответ опубликуем завтра.

Пишите в комментариях ваш вариант!

#questions
💅2
В чем разница между циклами while и for?

Ответ:

Оба цикла используются, когда нужно многократно выполнить единицу кода. Разница в том, что цикл for используется, когда вы знаете, сколько раз вам нужно выполнить итерацию кода. А цикл while мы применяем, когда нужно повторять что-то до тех пор, пока заданное утверждение не станет истинным.

#questions
🤡10😁3🤩2🔥1