Пусть объявлен кортеж: var tuple = (5, 10). Как обратиться к значению 5?
Anonymous Quiz
25%
tuple[0]
63%
tuple.Item1
7%
tuple.first
5%
tuple.5
Роадмап для изучения C# с нуля до первой работы?
#мысливслух
C# — универсальный язык, который применяется в разработке игр (Unity), backend-сервисов (ASP.NET), десктопных приложений. Но как его изучить с нуля так, чтобы не застрять в бесконечных курсах, а реально выйти на первую работу?
🔹 1. Освой базовый синтаксис
🟠 Переменные, типы данных, операторы.
🟠 Условные конструкции (if, switch).
🟠 Циклы (for, while).
🟠 Массивы и списки.
🟠 Методы и работа с исключениями.
Лучше сразу писать код, а не просто читать теорию. Можно решать задачи на CodeWars, LeetCode, HackerRank.
🔹 2. Разберись с ООП
C# — объектно-ориентированный язык, поэтому важно понимать инкапсуляцию, наследование, полиморфизм. Освой:
🟠 Классы, структуры, интерфейсы.
🟠 Коллекции (List, Dictionary, Queue).
🟠 Делегаты и события.
🔹 3. Работа с файлами, потоками и LINQ
C# часто используется для работы с данными, поэтому полезно освоить:
🟠 Чтение/запись файлов (StreamReader, StreamWriter).
🟠 Работа с JSON и XML (Newtonsoft.Json).
🟠 LINQ для обработки коллекций.
🔹 4. Изучи базы данных
Работа с БД — обязательный навык для C#-разработчиков. Минимум, который нужно знать:
🟠 SQL (SELECT, JOIN, INSERT, UPDATE, DELETE).
🟠 Entity Framework — ORM для работы с базой в C#.
🟠 Настройка подключения к БД (DbContext, Migrations).
🔹 5. Выбери направление
C# применяется в разных областях, поэтому лучше определиться заранее:
🟠 GameDev — изучай Unity, MonoBehaviour, Physics, UI Toolkit.
🟠 Backend — учи ASP.NET Core, REST API, JWT, Docker.
🟠 Desktop — разберись с WPF, WinForms, MAUI.
🔹 6. Сделай пару пет-проектов
Работодатели хотят видеть, что ты не просто прошел курс, а что-то реально делал:
🟠 API-сервис на ASP.NET Core + Entity Framework.
🟠 Простой 2D-платформер на Unity.
🟠 CRUD-приложение для заметок с базой данных.
🔹 7. Готовься к собеседованиям
🟠 Вопросы по C#: принципы ООП, работа с памятью, отличие struct от class.
🟠 Алгоритмы: сортировки, поиск в массивах, работа с рекурсией.
🟠 Практика: решай задачи, пиши код на реальных проектах.
⚡️ Вывод
выучить C# можно, если работать каждый день. Главное — не зацикливаться на теории, а писать реальные проекты
Как вы начали учить C#? В каком направлении хотите развиваться?
#мысливслух
C# — универсальный язык, который применяется в разработке игр (Unity), backend-сервисов (ASP.NET), десктопных приложений. Но как его изучить с нуля так, чтобы не застрять в бесконечных курсах, а реально выйти на первую работу?
🔹 1. Освой базовый синтаксис
Лучше сразу писать код, а не просто читать теорию. Можно решать задачи на CodeWars, LeetCode, HackerRank.
🔹 2. Разберись с ООП
C# — объектно-ориентированный язык, поэтому важно понимать инкапсуляцию, наследование, полиморфизм. Освой:
🔹 3. Работа с файлами, потоками и LINQ
C# часто используется для работы с данными, поэтому полезно освоить:
🟠 LINQ для обработки коллекций.
🔹 4. Изучи базы данных
Работа с БД — обязательный навык для C#-разработчиков. Минимум, который нужно знать:
🔹 5. Выбери направление
C# применяется в разных областях, поэтому лучше определиться заранее:
🔹 6. Сделай пару пет-проектов
Работодатели хотят видеть, что ты не просто прошел курс, а что-то реально делал:
🔹 7. Готовься к собеседованиям
⚡️ Вывод
выучить C# можно, если работать каждый день. Главное — не зацикливаться на теории, а писать реальные проекты
Как вы начали учить C#? В каком направлении хотите развиваться?
Please open Telegram to view this post
VIEW IN TELEGRAM
👌8❤4👍1
Уютное сообщество C# разработчиков - обучающий канал для шарпистов.
Контент канала:
🤸 Трюки языка
💻 Вакансии
❓ Тесты на знание языка
📚 Книги
😛 Юмор
Так же у нас есть отдельная ветка для вакансий для C# разработчиков.
Подписывайтесь, изучайте, качайте. @csharp
Контент канала:
🤸 Трюки языка
💻 Вакансии
❓ Тесты на знание языка
📚 Книги
😛 Юмор
Так же у нас есть отдельная ветка для вакансий для C# разработчиков.
Подписывайтесь, изучайте, качайте. @csharp
Задачка: Сколько всего букв "D"
Напишите функцию, подсчитывающую количество букв D в предложении.
Примеры:
Пишите ваши варианты в комментариях. Ответ будет в канале завтра.
#задача
Напишите функцию, подсчитывающую количество букв D в предложении.
Примеры:
CountDs("My friend Dylan got distracted in school.") ➞ 4
CountDs("Debris was scattered all over the yard.") ➞ 3
CountDs("The rodents hibernated in their den.") ➞ 3
Пишите ваши варианты в комментариях. Ответ будет в канале завтра.
#задача
При каком условии результат будет равен значению true?
int a = 1, b = 5; bool some = false;
int a = 1, b = 5; bool some = false;
Anonymous Quiz
15%
(some && a != 2) || b > 5
8%
(b <= 5 || a == 3) && some
11%
(b != 5 || a ==3) || (!some && a > 1)
9%
some || a == 4 || b < 3
57%
(b > 5 && a <=3) || (!some || a < 1)
Какая функция корректно сравнивает две подстроки?
Anonymous Quiz
3%
String.Check("hi", "hello");
46%
String.Compare("hi", "hello");
7%
String.Match("hi", "hello");
44%
String.Equal("hi", "hello");
Что означают следующие аббревиатуры в .NET: IL, CIL, MSIL, CLI и JIT?
Ответ:
IL (Intermediate Language) – это независимый от процессора частично скомпилированный код. Код IL будет скомпилирован в родной машинный код с использованием текущих свойств среды компилятором Just-In-Time (JIT). JIT-компилятор переводит IL-код в код сборки и использует архитектуру процессора целевой машины для выполнения приложения .NET.
В .NET язык IL называется Common Intermediate Language (CIL), а на первых этапах .NET он назывался Microsoft Intermediate Language (MSIL).
CLI (Common Language Infrastructure) – это открытая спецификация, разработанная компанией Microsoft. Это библиотека скомпилированного кода, используемая для развертывания, создания версий и обеспечения безопасности.
В .NET существует два типа CLI: сборки процессов (EXE) и сборки библиотек (DLL). Сборки CLI содержат код на языке CIL, и, как уже упоминалось, при компиляции языков программирования CLI исходный код транслируется в код CIL, а не в объектный код, специфичный для платформы или процессора.
Подведем итоги:
1. При компиляции исходный код сначала транслируется в IL (в .NET это CIL, а ранее назывался MSIL).
2. Затем CIL собирается в байткод и создается сборка CLI.
3. Перед выполнением кода CLI-код проходит через JIT-компилятор среды выполнения для генерации родного машинного кода.
4. Процессор компьютера выполняет родной машинный код.
#questions
Ответ:
В .NET язык IL называется Common Intermediate Language (CIL), а на первых этапах .NET он назывался Microsoft Intermediate Language (MSIL).
CLI (Common Language Infrastructure) – это открытая спецификация, разработанная компанией Microsoft. Это библиотека скомпилированного кода, используемая для развертывания, создания версий и обеспечения безопасности.
В .NET существует два типа CLI: сборки процессов (EXE) и сборки библиотек (DLL). Сборки CLI содержат код на языке CIL, и, как уже упоминалось, при компиляции языков программирования CLI исходный код транслируется в код CIL, а не в объектный код, специфичный для платформы или процессора.
Подведем итоги:
1. При компиляции исходный код сначала транслируется в IL (в .NET это CIL, а ранее назывался MSIL).
2. Затем CIL собирается в байткод и создается сборка CLI.
3. Перед выполнением кода CLI-код проходит через JIT-компилятор среды выполнения для генерации родного машинного кода.
4. Процессор компьютера выполняет родной машинный код.
#questions
👏6🔥4
Где правильно создан массив?
Anonymous Quiz
15%
int arr[] = {2, 5};
5%
int arr = [2, 5];
2%
int arr = {2, 5};
59%
int[] arr = new int [2] {2, 5};
18%
int[] arr = new Array [2, 5];
👍7
📰 Итоги недели
Краткий взгляд на то, что происходило в мире.
— План выпуска Critter Stack
Jeremy Miller анонсировал выпуск обновлений для Critter Stack, включая Marten 8.0, Weasel 8.0 и Wolverine 4.0, запланированный на 1 июня 2025 года.
— PowerShell AI Shell Preview
Выпущена версия Preview 4 AI Shell для PowerShell, включающая улучшения для macOS, поддержку аутентификации через Microsoft Entra ID и расширенные возможности командной строки.
— AI и Vector Data Extensions для .NET теперь доступны
Microsoft анонсировала общедоступный статус для расширений AI и Vector Data в .NET. Эти библиотеки предоставляют общие абстракции и утилиты для работы с ИИ-моделями и векторными хранилищами.
— Microsoft запускает Agent Store
Agent Store — новый централизованный магазин агентов в рамках Microsoft Copilot. Платформа позволяет пользователям просматривать, устанавливать и тестировать агентов, разработанных Microsoft, партнерами и клиентами.
— Microsoft обновили .NET Aspire до версии 9.3
Краткий взгляд на то, что происходило в мире.
— План выпуска Critter Stack
Jeremy Miller анонсировал выпуск обновлений для Critter Stack, включая Marten 8.0, Weasel 8.0 и Wolverine 4.0, запланированный на 1 июня 2025 года.
— PowerShell AI Shell Preview
Выпущена версия Preview 4 AI Shell для PowerShell, включающая улучшения для macOS, поддержку аутентификации через Microsoft Entra ID и расширенные возможности командной строки.
— AI и Vector Data Extensions для .NET теперь доступны
Microsoft анонсировала общедоступный статус для расширений AI и Vector Data в .NET. Эти библиотеки предоставляют общие абстракции и утилиты для работы с ИИ-моделями и векторными хранилищами.
— Microsoft запускает Agent Store
Agent Store — новый централизованный магазин агентов в рамках Microsoft Copilot. Платформа позволяет пользователям просматривать, устанавливать и тестировать агентов, разработанных Microsoft, партнерами и клиентами.
— Microsoft обновили .NET Aspire до версии 9.3
The Shade Tree Developer
Critter Stack Release Plans
Time for an update on Critter Stack release plans, and a follow up on my previous Critter Stack Work in Progress post from March. The current plan is to release Marten 8.0, Weasel 8.0, and Wolverin…
Сидите у монитора по 10–12 часов, втыкаете в Visual Studio, гоняете сборки.
И тут коллега с серьёзным лицом заявляет:
Без очков с фильтром синего ты себе глаза посадишь!
Но правда ли это — или просто маркетинг, нацеленный на программистов, особенно тех, кто пишет на C# и ценит комфорт?
👓 Аргументы за очки с фильтром синего света:
• Производители обещают защиту от «синих пиков» LED-экранов.
• Есть мнение, что блокировка синего света вечером помогает выработке мелатонина.
• Некоторым пользователям помогают при чувствительности к свету.
• Модный аксессуар. Особенно с антирефлексом и аккуратной оправой — +10 к внешности на митапах.
🧠 Аргументы против:
• Реальная проблема это плохая эргономика, поза и освещение.
• Лучше настроить яркость, использовать dark mode и 20-20-20 правило.
• Фильтрация синего искажает цвета. Особенно критично, если работаешь с графикой или UI.
• Хорошие очки стоят как лицензионный ReSharper.
💬 А вы носите очки? Не обязательно с фильтрами, может просто с диоптриями. Делитесь в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👀2
Иногда полезно встраивать версию приложения или метаданные непосредственно в сборку. Это можно сделать с помощью флагов в
dotnet build:dotnet build /p:Version=1.0.0 /p:CommitHash=$(git rev-parse --short HEAD)
/p:Version=1.0.0: встраивает версию в сборку.
/p:CommitHash=$(git rev-parse --short HEAD): встраивает хэш текущего коммита в сборку, полученный с помощью Git.Вы можете использовать эти переменные в коде для отображения версии и метаданных в финальном приложении.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
📋 Чек-лист по написанию LINQ запросов
Независимо от того, работаете ли вы с коллекциями, базами данных или XML, LINQ запросы требуют правильной структуры и оптимизации для достижения наилучших результатов.
В этом чек-листе собраны основные моменты, которые помогут вам писать чистые, читаемые и эффективные LINQ запросы.
✅ Понимание источника данных
Убедитесь, что данные поддерживают LINQ, например,
✅ Определение цели запроса
Чётко определите входные данные, что с ними будет в процессе и какие ожидаются данные на выходе.
✅ Синтаксис запроса
Перед написанием запросов стоит определить какой синтаксис будет использоваться.
• Синтаксис как метод:
• Запрос в синтаксисе:
✅ Оптимизация производительности
Используйте
✅ Отложенная и немедленная загрузка
Отложенная загрузка полезна, когда вам нужно выполнить запрос, но выполнение следует отложить до тех пор, пока это не потребуется.
Немедленная загрузка используется, когда вы хотите сразу получить результат выполнения запроса или когда данные нужно обработать немедленно.
✅ Агрегация и группировка
Используйте функции агрегации, такие как
✅ Сложные запросы
Работайте с несколькими коллекциями через операторы
✅ Использование
Упрощайте запросы с помощью промежуточных переменных:
✅ Обработка пустых коллекций
Используйте
✅ Производительность и асинхронность
Используйте асинхронные методы, такие как
Независимо от того, работаете ли вы с коллекциями, базами данных или XML, LINQ запросы требуют правильной структуры и оптимизации для достижения наилучших результатов.
В этом чек-листе собраны основные моменты, которые помогут вам писать чистые, читаемые и эффективные LINQ запросы.
Убедитесь, что данные поддерживают LINQ, например,
IEnumerable<T> или IQueryable<T>.Чётко определите входные данные, что с ними будет в процессе и какие ожидаются данные на выходе.
Перед написанием запросов стоит определить какой синтаксис будет использоваться.
• Синтаксис как метод:
var result = collection.Where(x => x.Age > 30).OrderBy(x => x.Name).ToList();
• Запрос в синтаксисе:
var result = from x in collection
where x.Age > 30
orderby x.Name
select x;
Используйте
IQueryable<T> для внешних источников данных (например, базы данных), чтобы запрос выполнялся на сервере.Отложенная загрузка полезна, когда вам нужно выполнить запрос, но выполнение следует отложить до тех пор, пока это не потребуется.
Немедленная загрузка используется, когда вы хотите сразу получить результат выполнения запроса или когда данные нужно обработать немедленно.
Используйте функции агрегации, такие как
Sum(), Average(), Max(), и группировку через GroupBy().Работайте с несколькими коллекциями через операторы
join, union, intersect и except.var combined = collection1.Join(collection2,
c1 => c1.Id,
c2 => c2.Id,
(c1, c2) => new { c1.Name, c2.Price });
let для промежуточных вычисленийУпрощайте запросы с помощью промежуточных переменных:
var result = from x in collection
let temp = x.Age * 2
where temp > 40
select new { x.Name, temp };
Используйте
DefaultIfEmpty() для предотвращения ошибок при работе с пустыми коллекциями.Используйте асинхронные методы, такие как
ToListAsync(), для работы с асинхронными источниками данных.Please open Telegram to view this post
VIEW IN TELEGRAM
❤11
Задачка: Умножение на длину
Напишите функцию, умножающую все значения в массиве на количество значений в заданном массиве.
Примеры:
Пишите ваши варианты в комментариях. Ответ будет в канале завтра.
#задача
Напишите функцию, умножающую все значения в массиве на количество значений в заданном массиве.
Примеры:
MultiplyByLength([2, 3, 1, 0]) ➞ [8, 12, 4, 0]
MultiplyByLength([4, 1, 1]) ➞ ([12, 3, 3])
MultiplyByLength([0]) ➞ ([0])
Пишите ваши варианты в комментариях. Ответ будет в канале завтра.
#задача
🔥2