Можете ли вы определить разницу между перегрузкой и переопределением?
Перегрузка — когда у вас есть два или более методов в одной области действия с одинаковым именем, но разными параметрами.
Переопределение — позволяет вам изменить поведение метода в подклассе или дочернем классе.
Перегрузка — когда у вас есть два или более методов в одной области действия с одинаковым именем, но разными параметрами.
Переопределение — позволяет вам изменить поведение метода в подклассе или дочернем классе.
🎉 Розыгрыш от Proglib Academy и DigitalRazor!
С 27 ноября по 27 декабря у вас есть шанс не только прокачать свои навыки, но и выиграть ПК при покупке любого курса Академии!
🎁 Призы для участников акции:
– Игровой ПК DigitalRazor ProGaming
– VIP-пакет курса Proglib Academy
💡 Как принять участие?
Купите любой курс Proglib Academy с 27 ноября по 27 декабря и получите шанс выиграть мощный ПК.
Приобретите технику DigitalRazor — участвуйте в розыгрыше VIP курса.
📅 Вместе с DigitalRazor мы создали спецпредложение -50% на курсы до 30 ноября, чтобы вы могли начать обучение на более выгодных условиях.
Выбрать курс
С 27 ноября по 27 декабря у вас есть шанс не только прокачать свои навыки, но и выиграть ПК при покупке любого курса Академии!
🎁 Призы для участников акции:
– Игровой ПК DigitalRazor ProGaming
– VIP-пакет курса Proglib Academy
💡 Как принять участие?
Купите любой курс Proglib Academy с 27 ноября по 27 декабря и получите шанс выиграть мощный ПК.
Приобретите технику DigitalRazor — участвуйте в розыгрыше VIP курса.
📅 Вместе с DigitalRazor мы создали спецпредложение -50% на курсы до 30 ноября, чтобы вы могли начать обучение на более выгодных условиях.
Выбрать курс
Forwarded from Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Public, private и protected — три ключевых слова, которые определяют уровень доступа к полям и методам в C# и Unity. Делимся секретами, как правильно использовать их, чтобы сделать ваш код безопаснее и понятнее.
👉 Статья
👉 Статья
Количество уникальных букв в строке
1. Создаем строку str, которую нужно проанализировать.
2. Применяем метод Distinct() для получения уникальных символов в строке.
3. Вызываем метод Count() для получения количества элементов в последовательности уникальных символов.
4. Добавляем параметр char.IsLetter, чтобы учитывать только буквы алфавита.
1. Создаем строку str, которую нужно проанализировать.
2. Применяем метод Distinct() для получения уникальных символов в строке.
3. Вызываем метод Count() для получения количества элементов в последовательности уникальных символов.
4. Добавляем параметр char.IsLetter, чтобы учитывать только буквы алфавита.
Назовите все базовые типы данных, присутствующие в C#.
Существует четыре основных типа данных.
Char
Int
Float
Double
Перечислите наиболее часто используемые типы исключений.
Исключение — это ошибка, которая происходит во время выполнения. Используя подсистему обработки исключений C#, мы можем структурированным и контролируемым образом обрабатывать ошибки во время выполнения. Основное преимущество обработки исключений заключается в том, что она автоматизирует большую часть кода обработки ошибок. Обработка исключений также важна, поскольку C# определяет стандартные исключения для распространенных ошибок программы, таких как деление на ноль или выход индекса за пределы диапазона. Примеры исключений:
ArrayTypeMismatchException — это исключение возникает, когда тип сохраняемого значения несовместим с типом массива.
DivideByZeroException — когда пользователь пытается разделить целое число на ноль.
IndexOutOfRangeException — если индекс массива выходит за пределы допустимого диапазона.
Исключение — это ошибка, которая происходит во время выполнения. Используя подсистему обработки исключений C#, мы можем структурированным и контролируемым образом обрабатывать ошибки во время выполнения. Основное преимущество обработки исключений заключается в том, что она автоматизирует большую часть кода обработки ошибок. Обработка исключений также важна, поскольку C# определяет стандартные исключения для распространенных ошибок программы, таких как деление на ноль или выход индекса за пределы диапазона. Примеры исключений:
ArrayTypeMismatchException — это исключение возникает, когда тип сохраняемого значения несовместим с типом массива.
DivideByZeroException — когда пользователь пытается разделить целое число на ноль.
IndexOutOfRangeException — если индекс массива выходит за пределы допустимого диапазона.
Что такое Jagged массив в C#?
Зубчатый массив состоит из элементов, которые также являются массивами, но каждый из этих массивов-членов может иметь разный размер. Из-за этой композиции мы можем называть зубчатый массив «массивом массивов».
Зубчатый массив состоит из элементов, которые также являются массивами, но каждый из этих массивов-членов может иметь разный размер. Из-за этой композиции мы можем называть зубчатый массив «массивом массивов».
Можно ли использовать «this» в статическом методе C#?
Нет, потому что «this» возвращает ссылку на текущий экземпляр того же класса, а статические методы не принадлежат какому-либо конкретному экземпляру, потому что их можно вызывать только по имени класса.
Исключением являются методы расширения, поскольку мы можем использовать «this» с первым параметром метода.
Нет, потому что «this» возвращает ссылку на текущий экземпляр того же класса, а статические методы не принадлежат какому-либо конкретному экземпляру, потому что их можно вызывать только по имени класса.
Исключением являются методы расширения, поскольку мы можем использовать «this» с первым параметром метода.
Чему эквивалентен .NET CLR в Java?
Виртуальная машина Java (JVM).
Forwarded from Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Существует мнение, что высшего образования в сфере разработки игр в России нет, но это не так. В этой большой статье я подробно и честно расскажу о своем опыте обучения на разработчика игр в одном из московских университетов.
👉 Статья
👉 Статья
Определение типов, допускающих значение NULL, в C#.
Типы, допускающие значение NULL, позволяют вам назначать нормальный диапазон для значений NULL. Вы также можете назначать значения true или false для типов NULL. Синтаксис: < data_type> ? = null;
Типы, допускающие значение NULL, позволяют вам назначать нормальный диапазон для значений NULL. Вы также можете назначать значения true или false для типов NULL. Синтаксис: < data_type> ? = null;
Как осуществляется инкапсуляция в C#?
Спецификаторы доступа помогают реализовать инкапсуляцию в C#. Область действия и видимость члена класса определяются этими спецификаторами доступа.
С помощью спецификаторов открытого доступа класс может предоставлять свои переменные-члены и функции другим объектам и функциям. Как только член становится открытым, к нему можно получить доступ извне класса.
С помощью спецификаторов закрытого доступа класс может скрывать свои переменные-члены и функции от других объектов и функций. Доступ к закрытым членам класса могут получить только функции того же класса. Даже экземпляры того же класса не имеют доступа к его закрытым членам.
Защищенные спецификаторы доступа похожи на спецификаторы закрытого доступа, поскольку к ним нельзя получить доступ извне класса. Однако к защищенным членам класса может получить доступ и любой подкласс этого класса. Это позволяет реализовать наследование.
Спецификаторы доступа помогают реализовать инкапсуляцию в C#. Область действия и видимость члена класса определяются этими спецификаторами доступа.
С помощью спецификаторов открытого доступа класс может предоставлять свои переменные-члены и функции другим объектам и функциям. Как только член становится открытым, к нему можно получить доступ извне класса.
С помощью спецификаторов закрытого доступа класс может скрывать свои переменные-члены и функции от других объектов и функций. Доступ к закрытым членам класса могут получить только функции того же класса. Даже экземпляры того же класса не имеют доступа к его закрытым членам.
Защищенные спецификаторы доступа похожи на спецификаторы закрытого доступа, поскольку к ним нельзя получить доступ извне класса. Однако к защищенным членам класса может получить доступ и любой подкласс этого класса. Это позволяет реализовать наследование.
Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
Вторая часть рассказа про получение высшего образования в сфере разработки видеоигр. Еще больше подробностей о процессе обучения, разработке студенческих проектов, защите дипломных работ и ответе на главный вопрос: «А стоило ли оно того?»
👉 Статья
👉 Статья
Подготовься к собеседованию на позицию Data Scientist!
Профессия Data Scientist становится все более востребованной, и компании ищут специалистов, способных превращать данные в ценные инсайты. Но как успешно пройти техническое собеседование?
Мы собрали 10 типичных задач, которые могут встретиться на собеседовании, и эффективные подходы к их решению:
1. Внешнее и тензорное произведение
2. One-hot кодировка
3. Мониторинг осадков
4. Симуляция бросков кубиков в «Монополии»
5. Бурение скважин для добычи золота
6. Вычисление свертки
7. Бэктестинг торговой стратегии
8. Прогноз оттока клиентов с помощью логистической регрессии
9. Обнаружение спама с использованием дерева решений
10. Предсказание цен на квартиры с помощью линейной регрессии
Чтобы начать решать задачи, достаточно ответить на четыре простых вопроса по этой ссылке и получить доступ к вводным занятиям курса Математика для Data Science и 10 задачам.
Профессия Data Scientist становится все более востребованной, и компании ищут специалистов, способных превращать данные в ценные инсайты. Но как успешно пройти техническое собеседование?
Мы собрали 10 типичных задач, которые могут встретиться на собеседовании, и эффективные подходы к их решению:
1. Внешнее и тензорное произведение
2. One-hot кодировка
3. Мониторинг осадков
4. Симуляция бросков кубиков в «Монополии»
5. Бурение скважин для добычи золота
6. Вычисление свертки
7. Бэктестинг торговой стратегии
8. Прогноз оттока клиентов с помощью логистической регрессии
9. Обнаружение спама с использованием дерева решений
10. Предсказание цен на квартиры с помощью линейной регрессии
Чтобы начать решать задачи, достаточно ответить на четыре простых вопроса по этой ссылке и получить доступ к вводным занятиям курса Математика для Data Science и 10 задачам.
Почему для методов внутри интерфейса нельзя указать модификатор доступа?
Виртуальные методы в интерфейсе не имеют определения метода. Методы здесь написаны для переопределения в производном классе и, следовательно, они общедоступны.
Виртуальные методы в интерфейсе не имеют определения метода. Методы здесь написаны для переопределения в производном классе и, следовательно, они общедоступны.
Forwarded from Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Delta Time — незаменимый инструмент в разработке игр на Unity. Он позволяет сделать игру независимой от частоты кадров, но его неправильное использование может сломать весь геймплей. Разберем, когда и как его применять.
👉 Статья
👉 Статья
⚡️Самые полезные каналы по C# в одной папке
В ней:
➖ канал для подготовки к собеседованиям
➖ интересные задачи
➖ основной канал (этот)
➖ книги по C#
➖ лучшие вакансии из сферы
➖ и наш чат, в котором можно общаться и задавать вопросы
Добавляйте 👉 тык сюда
В ней:
Добавляйте 👉 тык сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно ли изменить значение переменной во время отладки приложения?
Да, значения переменных можно изменять во время отладки.
Да, значения переменных можно изменять во время отладки.
Что такое частные и общие сборки?
Частные сборки:
✍🏻 Видны только самому приложению
✍🏻 Нет необходимости заботиться об уникальном имени во всем глобальном пространстве имен
✍🏻 Не нужно делать записей в реестре при развертывании приложения
✍🏻 Сборки просто копируются в директорию приложения или в подчинённую директорию
✍🏻 Общая среда выполнения (CLR) при запуске приложения прочитает его манифест и определит какие сборки необходимы. Затем будет произведен поиск нужной сборки по директории приложения (процесс зондирования)
Общие сборки:
✍🏻 Могут быть использованы сразу несколькими приложениями
✍🏻 Сборка должна иметь строгое имя (strong name)
✍🏻 Сборка должна быть помещена в общедоступное место — Global Assembly Cache (GAC, глобальный кэш сборок)
Частные сборки:
✍🏻 Видны только самому приложению
✍🏻 Нет необходимости заботиться об уникальном имени во всем глобальном пространстве имен
✍🏻 Не нужно делать записей в реестре при развертывании приложения
✍🏻 Сборки просто копируются в директорию приложения или в подчинённую директорию
✍🏻 Общая среда выполнения (CLR) при запуске приложения прочитает его манифест и определит какие сборки необходимы. Затем будет произведен поиск нужной сборки по директории приложения (процесс зондирования)
Общие сборки:
✍🏻 Могут быть использованы сразу несколькими приложениями
✍🏻 Сборка должна иметь строгое имя (strong name)
✍🏻 Сборка должна быть помещена в общедоступное место — Global Assembly Cache (GAC, глобальный кэш сборок)
Мы запустили свежий канал, где делимся идеями для дизайна интерфейсов. Всё самое стильное, оригинальное и вдохновляющее теперь в одном месте.
📌 Чем полезен канал?
→ Идеи для дизайна интерфейсов.
→ Анимации, которые можно повторить или адаптировать.
→ Лёгкий способ искать вдохновение перед новым проектом.
👉 Подписывайтесь и вдохновляйтесь: UX in GIF
Please open Telegram to view this post
VIEW IN TELEGRAM