Почему все-таки выведется Foo.Quux()?
Класс Bar.Quux имеет область видимости private и не может быть использован из дочернего класса. Поэтому при вызове метода Quux из класса Baz будет использован класс Foo.Quux.
Класс Bar.Quux имеет область видимости private и не может быть использован из дочернего класса. Поэтому при вызове метода Quux из класса Baz будет использован класс Foo.Quux.
📕 25 лучших книг для программистов
Список наиболее часто рекомендуемых книг о программировании, составлен по результатам анализа упоминаний в интернет-публикациях. Книги об алгоритмах, чистом коде, паттернах проектирования, а также пособия для развития soft skills и прохождения собеседований.
https://proglib.io/sh/hwx5MziQen
Список наиболее часто рекомендуемых книг о программировании, составлен по результатам анализа упоминаний в интернет-публикациях. Книги об алгоритмах, чистом коде, паттернах проектирования, а также пособия для развития soft skills и прохождения собеседований.
https://proglib.io/sh/hwx5MziQen
Что выведет программа?
Anonymous Quiz
8%
Foo.Quux(int)
21%
Bar.Quux(object) Baz.Quux(params T[])
59%
Bar.Quux(int) Baz.Quux(int)
12%
Нет правильного ответа
Весь мир на удаленке, заработки в офлайне просели – нельзя полагаться на один источник дохода. Бывшие офисные сотрудники штудируют курсы и уходят во фриланс за онлайн-заказами. Преимущества очевидны:
💎 Зарплату определяют нагрузка и опыт, а не мнение начальника
🌐 Международный рынок: больше вариантов, оплата в валюте
🌊 Сам выбираешь, когда трудиться и отдыхать
Но работа во фрилансе отличается от офисной. Учиться лучше у людей с опытом – на GeekBrains freelance. Курсы по тестированию, верстке, мобильной разработке и вебу – все с акцентом на быстрый старт во фрилансе. Делимся ссылкой: https://proglib.io/w/5d8dce59
💎 Зарплату определяют нагрузка и опыт, а не мнение начальника
🌐 Международный рынок: больше вариантов, оплата в валюте
🌊 Сам выбираешь, когда трудиться и отдыхать
Но работа во фрилансе отличается от офисной. Учиться лучше у людей с опытом – на GeekBrains freelance. Курсы по тестированию, верстке, мобильной разработке и вебу – все с акцентом на быстрый старт во фрилансе. Делимся ссылкой: https://proglib.io/w/5d8dce59
Действительно, на экран будет выведено Bar.Quux(object) и Baz.Quux(params T[]).
Есть такое правило: если при вызове некоторого метода в «текущем» классе находится подходящая сигнатура, то компилятор не будет даже смотреть на родительские классы. В данной задаче классы Bar и Baz имеют собственные версии метода Quux. Их сигнатуры подходят под передаваемый набор параметров, а значит они и будут вызваны, а перегруженный Quux базового класса будет проигнорирован.
Источник: «Задачник.NET» Андрея Акиньшина
Есть такое правило: если при вызове некоторого метода в «текущем» классе находится подходящая сигнатура, то компилятор не будет даже смотреть на родительские классы. В данной задаче классы Bar и Baz имеют собственные версии метода Quux. Их сигнатуры подходят под передаваемый набор параметров, а значит они и будут вызваны, а перегруженный Quux базового класса будет проигнорирован.
Источник: «Задачник.NET» Андрея Акиньшина
Практическая причина, почему стоит выбрать ORM вместо сырого ADO.NET: https://proglib.io/w/6b223eff
Автор статьи приводит множество примеров рефакторинга из реальной (некорректной) кодовой базы с подробным объяснением и иллюстрациями: https://proglib.io/w/bae12d80
martinfowler.com
Refactoring: This class is too large
An example of refactoring from a real (flawed) code base.
Что выведет программа?
Anonymous Quiz
31%
string
12%
"string"
46%
Ошибка компиляции
11%
Ошибка времени выполнения
В связи с тем, что переменная s не инициализирована, такая программа не скомпилируется.
Программа заработает в случае, если переменной s будет присвоено хоть какое-то значение, например:
string s = "";
s += "string";
Источник: http://www.quizful.net/test/c_sharp_basic
Программа заработает в случае, если переменной s будет присвоено хоть какое-то значение, например:
string s = "";
s += "string";
Источник: http://www.quizful.net/test/c_sharp_basic
www.quizful.net
Тест C# - Основы
Тест C# проверяет знание программистами основ программирования на языке C# на платформе .NET. Тест по основам c# подготовит Вас к прохождению более сложных тестов из этой категории.
Можете однозначно утверждать, что C# медленнее, чем C++? Автор статьи, будучи младшим разработчиком, был уверен, что ответ будет «Да, определенно». С опытом пришло понимание, что этот вопрос не очевиден и довольно сложен. Разбираемся: https://proglib.io/w/58fadd15
Michael's Coding Spot
Is C# Slower Than C++?
Is C# slower than C++? That's a pretty big question. As a junior developer, I was sure that the answer is "Yes, definitely". Now that I'm more experienced, I know that this question is not obvious and even quite complicated.
Задача «Linq:QueryAfterRemove». Что выведет программа?
Anonymous Quiz
47%
1
9%
3
37%
2
7%
Нет правильного ответа
При вызове list.Where(c => c.StartsWith("B")) запрос будет только построен, но не выполнен. Реальное выполнение начнётся в момент вызова query.Count(). К этому моменту значение list будет {"Foo","Baz"}, следовательно будет найден только один элемент, начинающийся с ’B’.
Источник: «Задачник.NET» Андрея Акиньшина
Источник: «Задачник.NET» Андрея Акиньшина
Redhat продолжает описывать важные составляющие C# 8 с практической стороны. Напомним, что первой статьей из цикла материалов о нововведениях была тема, связанная с асинхронными потоками. Следующие статьи:
– Сопоставление с образцом
– Методы интерфейсов по умолчанию
– Работа с nullable reference types
– Сопоставление с образцом
– Методы интерфейсов по умолчанию
– Работа с nullable reference types
Telegram
Библиотека шарписта
Асинхронные потоки в C# 8
После выхода .NET Core команда RedHat заинтересовалась данной платформой и стала регулярно готовить публикации на тему .NET разработки. В этой статье речь идёт об асинхронных потоках в C# 8.
https://developers.redhat.com/blog/2020/02/24/c…
После выхода .NET Core команда RedHat заинтересовалась данной платформой и стала регулярно готовить публикации на тему .NET разработки. В этой статье речь идёт об асинхронных потоках в C# 8.
https://developers.redhat.com/blog/2020/02/24/c…
Builder pattern generator
В ходе работы с большими кодовыми базами может возникнуть потребность в использовании шаблонов для создания интуитивно понятного для использования, простого для чтения и структурированного кода. Проект нацелен на помощь в этом и позволяет генерировать исходный код .NET 5 для автоматического создания шаблона компоновщика для классов.
Статья
Репозиторий
В ходе работы с большими кодовыми базами может возникнуть потребность в использовании шаблонов для создания интуитивно понятного для использования, простого для чтения и структурированного кода. Проект нацелен на помощь в этом и позволяет генерировать исходный код .NET 5 для автоматического создания шаблона компоновщика для классов.
Статья
Репозиторий
Andrew Stakhov
Code Generation with .NET 5 - Builder pattern - Andrew Stakhov
Learn how you to use Roslyn and .NET 5 source generation to automate the creation of builder pattern in your code
«Цифровой прорыв» 2020 открывает прием заявок на масштабный IT-марафон с призовым фондом 5.000.000 руб.! ⚡️
В режиме онлайн ты сможешь реализовать свою идею, создать действительно классный продукт, который будет менять жизни людей. 🚀
💥 Регистрируйся по ссылке: https://proglib.io/w/8635767e
Тебя ждут два онлайн-хакатона, которые пройдут 5-7 июня и 19-21 июня. 👨🏻💻👩🏼💻
- 36 часов кодинга/400 команд;
- Крутые кейсовые задания от Росатома, Сбербанка, Глобального русскоговорящего технологического сообщества Rutech;
- Образовательная программа;
- Трекеры и эксперты , которые будут помогать тебе на каждом этапе.
🌏 25 июня - 25 июля состоится онлайн-чемпионат на технологической платформе Mail.ru:
- Индивидуальное участие;
- Задачи по Machine Learning и Data Science;
- Возможность попасть на финал Цифрового Прорыва!
🎯 Проверь свои силы и разработай крутой проект для решения реальных бизнес-задач, регистрируйся по ссылке: https://proglib.io/w/8635767e
В режиме онлайн ты сможешь реализовать свою идею, создать действительно классный продукт, который будет менять жизни людей. 🚀
💥 Регистрируйся по ссылке: https://proglib.io/w/8635767e
Тебя ждут два онлайн-хакатона, которые пройдут 5-7 июня и 19-21 июня. 👨🏻💻👩🏼💻
- 36 часов кодинга/400 команд;
- Крутые кейсовые задания от Росатома, Сбербанка, Глобального русскоговорящего технологического сообщества Rutech;
- Образовательная программа;
- Трекеры и эксперты , которые будут помогать тебе на каждом этапе.
🌏 25 июня - 25 июля состоится онлайн-чемпионат на технологической платформе Mail.ru:
- Индивидуальное участие;
- Задачи по Machine Learning и Data Science;
- Возможность попасть на финал Цифрового Прорыва!
🎯 Проверь свои силы и разработай крутой проект для решения реальных бизнес-задач, регистрируйся по ссылке: https://proglib.io/w/8635767e
C# позволяет писать код на основе позиционного или номинального стиля. Позиционный стиль позволяет использовать конструкторы.
Объект инициализатора относится к номинальной категории. До сих пор номинальная категория была ограничена, так как требовала доступных для записи свойств.
Это может измениться в C# 9. Разбираемся: https://proglib.io/w/07738350
Объект инициализатора относится к номинальной категории. До сих пор номинальная категория была ограничена, так как требовала доступных для записи свойств.
Это может измениться в C# 9. Разбираемся: https://proglib.io/w/07738350
blogs.cninnovation.com
C# 9 – Positional or Nominal Creation
C# allows writing code with positional or nominal code style. Using positional code style, constructors can be used. Object initializer belong to the nominal category. So far the nominal category w…