В чем разница? Тренчкот vs пыльник

Сегодня будет еще один эпизод из моей постоянной рубрики «В чем разница?». На этот раз некомпьютерная тематика. Мне часто делают комплименты о выборе верхней одежды во время дождливого сезона в Сиетле, и мне надоело отвечать на этот вежливый комплимент уточнением. Так что обычно я пропускаю комплименты типа «Отличный тренчкот!» мимо ушей и просто благодарю в…

0

В чем разница между получением остатка от деления и взятия модуля?

Сегодня мы продолжим мою постоянную рубрику «В чем разница?» и рассмотрим разницу между получением остатка от деления и взятия по модулю и, выясним, какую из этих операций представляет оператор C# «%»? Отношение эквивалентности является прекрасным понятием, которое снова и снова всплывает в математике и программировании. Прежде всего, давайте (снова) определим понятие «отношения»; отношение – это…

0

В чем разница между деструктором и методом завершения?

Сегодня будет еще один диалог и еще один эпизод из моей постоянной рубрики «в чем разница?». В чем разница, если она вообще существует, между «деструктором» (destructor) и «методом завершения» (finalizer)? Оба понятия являются механизмом очистки ресурсов после того, как в них пропадает необходимость. Когда меня спросили об этом, я сначала подумал, что между этими понятиями…


В чем разница между ковариантностью и совместимостью по присваиванию?

Я об этом уже неоднократно писал, но думаю, что один момент требует повторения. По мере приближения к выпуску C# 4.0, мне стали попадаться множество документов, статей в блогах и т.п., в которых делается попытка объяснить значения термина «ковариантность» (covariant). Очень сложно дать понятное определение этого термина для людей не знакомых с теорией категорий, но сделать…


В чём разница между операторами «as» и «приведения»?

Большинство людей скажут, чт о разница между «(Alpha)bravo» и «bravo as Alpha» в том, что первое бросает исключение при неуспехе преобразования, а последнее возвращает null. Хоть это и правильно, и это самая очевидная разница, дело не только в этом. Здесь есть ловушки, которых нужно остерегаться. Во-первых, поскольку результатом оператора «as» может быть null, целевым может…


В чём разница между частичным методом и частичным классом?

Так же, как «fixed» и «into», «partial» используется в С# двумя похожими-но-разными способами. Задача частичного класса в том, чтобы позволить вам разбивать объявление класса на несколько частей, обычно расположенных в различных файлах. Мотиватором этой возможности был машинно-генерируемый код, который пользователю нужно было расширять путём прямых добавлений. Когда вы рисуете форму в дизайнере форм, дизайнер генерирует…


В чём разница между условной компиляцией и атрибутом Conditional?

Пользователь: почему эта программа отказывается компилироваться в релизном билде? class Program { #if DEBUG     static int testCounter = 0; #endif     static void Main(string[] args)     {         SomeTestMethod(testCounter++);     }     [Conditional(“DEBUG”)]     static void SomeTestMethod(int t) { } } Эрик: Это не получается скомпилировать при окончательном построении потому, что не удаётся найти…


Какая разница, часть Четвёртая: into и into

Ключевое слово «into» в выражениях-запросах означает две разных вещи, в зависимости от того, идёт ли оно после join или select/group. Если оно следует за join, то оно превращает объединение в групповое объединение. Если оно следует за select или group, то оно вводит продолжение запроса. Эти две вещи сильно отличаются, но их легко спутать. Во-первых, групповое…


Какая разница, Часть вторая: область видимости, пространство деклараций, время жизни

Термин «scope» (область видимости) оказался одним из самых запутывающих слов во всём дизайне языков программирования. Люди, похоже, произвольно используют его для обозначения всего, что им удобно в каждый момент; чаще всего я вижу, как его путают с временем жизни и пространством деклараций. Как в «память освобождена, когда переменная выйдет из области видимости». В неформальных обстоятельствах,…


В чём разница, Часть первая: Обобщения – не шаблоны

Поскольку я – гик, мне нравится узнавать о порой тонких различиях между вещами, которые легко спутать. Например: У меня в голове всё еще нет четкого понимания того, чем отличаются хаб, роутер и свитч, и как это относится к гномам, которые живут в каждом из них. Глыбы минералов, которые находят в природе, называются горной породой. Но…