次の方法で共有


Невероятные приключения в коде

Перевод блога Эрика Липперта

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

Я об этом уже неоднократно писал, но думаю, что один момент требует повторения. По мере приближения...

Author: Anton Belousov - MSFT Date: 11/30/2009

Раскрытие цели

Весьма любопытно, что так никто и не догадался, зачем в компиляторе мне понадобился код для...

Author: Anton Belousov - MSFT Date: 11/25/2009

Всегда пишите спецификацию. Часть 2

Во время просмотра спецификации, даже не глядя на мой код, Крис нашел ошибку и упущение. Упущение...

Author: Anton Belousov - MSFT Date: 11/23/2009

Всегда пишите спецификацию, часть 1

У Джоэла Спольски несколько лет назад была отличная серия статей о преимуществах написания...

Author: Anton Belousov - MSFT Date: 11/19/2009

Замыкания на переменных цикла. Часть 2

Спасибо всем, кто оставил содержательные и глубокие комментарии для предыдущего сообщения[1]....

Author: Anton Belousov - MSFT Date: 11/16/2009

О вреде замыканий на переменных цикла

Я не знаю, почему я до сих пор не писал об этом в своем блоге, ведь это один из самых...

Author: Anton Belousov - MSFT Date: 11/12/2009

Простые имена не так уж просты. Часть 2.

А также о вулканах и еде Я вернулся из короткого отпуска – навещал друзей на острове Мауи. Я никогда...

Author: Anton Belousov - MSFT Date: 11/05/2009

Простые имена не так уж просты

В C# есть много правил, спроектированных для предотвращения некоторых обычных источников ошибок и...

Author: Gaidar Magdanurov Date: 11/01/2009

Фитнесс без Фокусов

Вот утверждение, которое я прочитал вчера про сравнения объектов ссылочного типа в C#:...

Author: Gaidar Magdanurov Date: 10/28/2009

Новые видеозаписи

Опять это как-то случилось; люди не перестают записывать меня на видео и выкладывать в интернет. В...

Author: Gaidar Magdanurov Date: 10/26/2009

Что вы называете «потокобезопасным»?

Предостережение: я не эксперт по многопоточному программированию. На самом деле, я бы даже не стал...

Author: Gaidar Magdanurov Date: 10/18/2009

Безвременно как бесконечность

Пользователь: Недавно я обнаружил в C# странное поведение относительно деления на ноль чисел с...

Author: Gaidar Magdanurov Date: 10/14/2009

Отсутствие доказательств – не доказательство отсутствия

Отсутствие доказательств – не доказательство отсутствия Сегодня – ещё два слегка неверных мифа о C#....

Author: Gaidar Magdanurov Date: 10/11/2009

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

Большинство людей скажут, чт о разница между «(Alpha)bravo» и «bravo as Alpha» в том, что первое...

Author: Gaidar Magdanurov Date: 10/07/2009

Почему нет свойств расширения?

Меня часто спрашивают «парни, вы добавили методы расширения в C# 3, так почему бы не добавить ещё и...

Author: Gaidar Magdanurov Date: 10/04/2009

Почему Char неявно конвертируется в ushort, но не наоборот?

Ещё один хороший вопрос со StackOverflow. Почему есть неявное преобразование из char в ushort, но...

Author: Gaidar Magdanurov Date: 09/30/2009

Интернирование строк и String.Empty

Вот любопытный фрагмент кода: object obj = "Int32";string str1 = "Int32";string str2 =...

Author: Gaidar Magdanurov Date: 09/27/2009

Почему ковариантность массивов типов-значений несогласована?

Еще один интересный вопрос со StackOverflow: uint[] foo = new uint[10];object bar =...

Author: Gaidar Magdanurov Date: 09/23/2009

Почему в ref и out параметрах нет вариантности типов?

Вот хороший вопрос со StackOverflow: Если у вас есть метод, принимающий «X», то вы должны передавать...

Author: Gaidar Magdanurov Date: 09/20/2009

К западу от здания

К западу от зданияВы стоите в открытом поле к западу от белого здания с дощатой входной дверью.Тут...

Author: Gaidar Magdanurov Date: 09/16/2009

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

Так же, как «fixed» и «into», «partial» используется в С# двумя похожими-но-разными способами....

Author: Gaidar Magdanurov Date: 09/14/2009

Извините за CAPTCHA

Быстрая заметка по метаблоггингу. Те из вас, кто комментирует этот блог (6700+ комментариев и...

Author: Gaidar Magdanurov Date: 09/09/2009

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

Пользователь: почему эта программа отказывается компилироваться в релизном билде? class Program {...

Author: Gaidar Magdanurov Date: 09/09/2009

Какая разница, часть Пятая: подписи сертификатами и строгие имена

И строгое именование и цифровые подписи используют криптографию публичных ключей для обеспечения...

Author: Gaidar Magdanurov Date: 09/02/2009

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

Ключевое слово «into» в выражениях-запросах означает две разных вещи, в зависимости от того, идёт ли...

Author: Gaidar Magdanurov Date: 08/30/2009

Какая разница, часть Третья: fixed и fixed

Вчера получил письмо, которое начиналось так: У меня есть вопрос про буфера фиксированного размера в...

Author: Gaidar Magdanurov Date: 08/26/2009

Блоки итераторов, часть Седьмая: Почему нет анонимных итераторов?

Эта аннотация к комментарию к пятой части, по моему мнению, заслуживает повышения до самостоятельной...

Author: Gaidar Magdanurov Date: 08/23/2009

Теория массового обслуживания в действии, плюс лягушки

Ну, это был прекрасный отпуск. Начался он плохо, но затем значительно улучшился. Предположим, у вас...

Author: Gaidar Magdanurov Date: 08/19/2009

Четыре странности switch

В C# оператор C# немножко странен. Сегодня мы кратко коснёмся четырёх вещей, которых вы, вероятно,...

Author: Gaidar Magdanurov Date: 08/12/2009

Приоритет-против-порядка возвращаются

Еще раз я обращаюсь к мифу о том, что порядок вычисления в С# имеет какое-то отношение к приоритетам...

Author: Gaidar Magdanurov Date: 08/09/2009

Не всё наследуется от object

Я слышу много мифов о C#. Обычно в мифах есть крупица истины, например «типы-значения всегда...

Author: Gaidar Magdanurov Date: 08/05/2009

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

Термин «scope» (область видимости) оказался одним из самых запутывающих слов во всём дизайне языков...

Author: Gaidar Magdanurov Date: 08/02/2009

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

Поскольку я – гик, мне нравится узнавать о порой тонких различиях между вещами, которые легко...

Author: Gaidar Magdanurov Date: 07/29/2009

Блоки итераторов, Часть шестая: почему запрещён небезопасный код?

Есть три хороших причины не разрешать блоки unsafe в блоках итераторов. Во-первых, это весьма...

Author: Gaidar Magdanurov Date: 07/26/2009

Блоки итераторов, часть пятая: Активный или Пассивный

Некоторое время назад я опубликовал комментарий по поводу Летних Игр по Скриптингу, где я отметил...

Author: Gaidar Magdanurov Date: 07/22/2009

Блоки итераторов, Часть четвёртая: Почему нет yield в блоках catch?

Теперь, когда вы знаете, почему мы не разрешаем yield в finally, легко увидеть, почему мы также...

Author: Gaidar Magdanurov Date: 07/19/2009

Блоки итераторов, Часть третья: почему нет yield в блоке finally?

Есть три сценария, в которых код блока итератора может исполняться в finally. Ни в одном из них...

Author: Gaidar Magdanurov Date: 07/15/2009

Блоки итераторов, Часть вторая: Почему нет out- или ref- параметров?

Долгое и подробное обсуждение того, как именно мы реализовали блоки итераторов отняло бы довольно...

Author: Gaidar Magdanurov Date: 07/12/2009

Блоки итераторов, Часть первая

В дизайне языков программирования есть постоянное трение между решением общих проблем и решением...

Author: Gaidar Magdanurov Date: 07/08/2009

Color Color

Внезапный опрос: что делает следующий код при компиляции и исполнении? class C{ public static void...

Author: Gaidar Magdanurov Date: 07/05/2009

Правильный ответ – «нет»

Сегодня никакой технологии. Я не писал советов про отношения целую вечность! Сравните и...

Author: Gaidar Magdanurov Date: 07/01/2009

Void не вариантен

[ДОПОЛНЕНИЯ ниже] Некоторое время назад я описал вид вариантности, который мы поддерживаем, начиная...

Author: Gaidar Magdanurov Date: 06/28/2009

Итераторы на Летних Играх

Ed "Scripting Guy" Wilson был столь любезен, что попросил меня быть приглашенным комментатором на...

Author: Gaidar Magdanurov Date: 06/25/2009

Ммм, Карри

В недавнем комментарии меня спросили, почему программисты на Haskell иногда пишут лямбды C# в таком...

Author: Gaidar Magdanurov Date: 06/24/2009

Это и так скриптовый язык

Моя недавняя статья про возможность рассмотрения того, что, быть может, когда-нибудь мы добавим...

Author: Gaidar Magdanurov Date: 06/24/2009

Почему в C# нет «верхнеуровневых» методов?

C# требует, чтобы каждый метод был в каком-то классе, даже если это статический метод статического...

Author: Gaidar Magdanurov Date: 06/22/2009

Поднимайте вес ногами, а не спиной

В C# можно «lift» (накрывать), «raise» (возбуждать) и «hoist» (вытягивать), и всё это означает...

Author: Gaidar Magdanurov Date: 06/17/2009

Облегчать жизнь

Некоторое время назад я прочитал на MSNBC технологическую колонку, смысл которой сводился к «теперь...

Author: Gaidar Magdanurov Date: 06/15/2009

<Previous Next>