Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Перевод блога Эрика Липперта
Динамическое заражение, часть вторая
В прошлый раз мы обсуждали, как параметр «dynamic» стремится расшириться по программе подобно...
Date: 02/20/2013
Динамическое заражение, часть первая
Предположим, что вы эпидемиолог, моделирующий возможное распространение сильно заразной...
Date: 01/22/2013
Группа из одного метода
На этой неделе я реализовывал семантический анализ динамических выражений в проекте Roslyn, так что...
Date: 01/21/2013
C# – это строго типизированный или слабо типизированный язык?
Сегодняшний пост, как обычно будет представлен в виде диалога. C# – это строго типизированный или...
Date: 01/15/2013
Невычислимое
Мы можем рассматривать компьютерную программу, как устройство, которое берет на вход набор целых...
Date: 12/19/2012
Как убедиться, что вывод типов метода завершится?
Я все пропустил! Я подготовился к огромной волне анонсов по поводу выхода языка TypeScript, но...
Date: 12/03/2012
Доступен сентябрьский выпуск Roslyn CTP
Я рад сообщить, что выпустили третий ознакомительный выпуск («Community Technology Preview») проекта...
Date: 11/20/2012
Статический анализ оператора «is»
Прежде чем переходить к сегодняшнему невероятному приключению, я хотел бы поздравить всё...
Date: 11/09/2012
Загадка с оператором «is». Часть 2
Как я и говорил в прошлый раз, это загадка была довольно простой: мы получим такое поведение, если...
Date: 11/07/2012
Загадка с оператором «is». Часть 1
Возможно, что в программе с некоторой локальной переменной x: bool b = x is FooBar; во время...
Date: 11/06/2012
Не смешивайте out-параметры и LINQ
Я вернулся из ежегодного отпуска, проведенного в прекрасном месте на юго-западе Онтарио; прежде чем...
Date: 11/06/2012
Должен ли C# выдавать предупреждения на использование пустых ссылок
Как вы наверное знаете, компилятор языка C# анализирует константы для поиска недостижимого кода. В...
Date: 10/12/2012
Когда преобразование типов им не является?
Мне очень часто задают вопрос о логике преобразования типов в языке C#, что, в общем-то, не...
Date: 09/03/2012
Лучший совет, который мне когда-либо давали
Сейчас всего лишь небольшая ссылка: Прекраснейшие люди из InformIT (*) выпускают серию коротких...
Date: 08/28/2012
Глупая последовательность глупа
Сегодняшний пост как обычно будет представлен в виде диалога. Почему в некоторых случаях...
Date: 08/28/2012
Эрик снова рассуждает о языке C#
Рейчел Румелиотис (Rachel Roumeliotis), которая, помимо прочего является редактором книг о C# в...
Date: 08/27/2012
Поведение, определяемое реализацией
Как я уже неоднократно упоминал в этом блоге ранее, язык C# был тщательно спроектирован таким...
Date: 08/27/2012
Персистентность, фасады и красно-зеленые деревья в Roslyn
На ранних стадиях дизайна проекта Roslyn мы решили, что основной структурой данной, с которой будут...
Date: 08/26/2012
Анонсируем Microsoft Roslyn June 2012 CTP
Внимание всем, я рад сообщить, что мы выпускаем вторую предварительную версию проекта Roslyn,...
Date: 08/24/2012
Прошлая эффективность не гарантирует будущих результатов
Прежде чем перейти к сути нашего сегодняшнего повествования, несколько замечаний. Во-первых, я...
Date: 08/24/2012
Руководство по GUID. Часть 3
Давайте напомним, о чем шла речь: GUID – это 128-разрядное целое, который используется в качестве...
Date: 08/06/2012
Руководство по GUID. Часть 2
Так каким же образом, GUID гарантированно является уникальным без централизованного контролирующего...
Date: 07/31/2012
Руководство по GUID. Часть 1
Что такое GUID? Данный акроним расшифровывается как «globally unique identifier» (глобально...
Date: 07/31/2012
null – это не false. Часть 3
Возвращаемся к теме нашего обсуждения: мы бы хотели позволить пользователям «перегружать» операторы...
Date: 06/09/2012
Небольшое отступление
Прежде чем мы продолжим наши изыскания, небольшое отступление. В прошлый раз я упомянул о...
Date: 06/08/2012
null – это не false. Часть 2
В замечательной книге Реймонда Смаллиана про остров рыцарей и лжецов, на котором, как вы помните,...
Date: 06/05/2012
null – это не false
В языке C# «null» используется для указания «отсутствия» значения или «некорректного» значения....
Date: 03/30/2012
Почему ограничения не выводятся автоматически?
Предположим, у вас есть базовый обобщенный тип с ограничением: class Bravo<T> where T :...
Date: 03/13/2012
Почему локальные переменные в недостижимом коде полностью определены?
Вы, скорее всего, знакомы с возможностью языка C#, которая запрещает чтение локальной переменной до...
Date: 03/12/2012
Доступна бета-версия языка C# 5.0
Я невероятно рад сообщить, что бета-версия Visual Studio версии 11 (которая включает .NET CLR версии...
Date: 03/12/2012
Решение простой задачи
При первом запуске моего визуализатора гистограмм я попробовал построить распределение Коши с...
Date: 03/12/2012
Простая задача
Моя исходная версия функции получения гистограмм, приведенная в предыдущей заметке, содержала...
Date: 03/11/2012
Генерация случайных чисел с неравномерным распределением в C#
При создании симуляторов событий реального мира, или при генерации тестовых выборок для алгоритмов,...
Date: 03/11/2012
Плохие метафоры
Стандартным способом обучения молодых программистов объектно-ориентированному программированию...
Date: 03/06/2012
Что такое «связывание» и что делает его поздним?
«Позднее связывание» – это один из таких же терминов компьютерных наук, что «строгая типизация»,...
Date: 03/04/2012
В чем разница? Тренчкот vs пыльник
Сегодня будет еще один эпизод из моей постоянной рубрики «В чем разница?». На этот раз...
Date: 03/04/2012
Использование общих анонимных типов в одной сборке. Часть 2
В прошлый раз я писал о том, что использование в одной сборке в разных местах «одинакового»...
Date: 03/03/2012
Использование общих анонимных типов в одной сборке. Часть 1
В одной из моих заметок 2010-го года я сказал, что приведу в следующем году пример использования в...
Date: 03/02/2012
Каково определяющее свойство локальной переменной?
Если вы спросите у десяти C#-программистов о том, что такое «локальная переменная», то вы получите...
Date: 03/02/2012
Любое изменение открытого интерфейса является критическим
Неприятная правда заключается в том, что любое изменение открытого интерфейса потенциально является...
Date: 03/01/2012
Такой мечтатель
Я заметил, что у этого блога и у фотоблога программиста Раяна Гослина (Ryan Goslin) есть как минимум...
Date: 03/01/2012
Построение теней на C#. Часть 6
Прекрасно, давайте, наконец, завершим эту серию. У нас есть алгоритм, который вычисляет, какие...
Date: 03/01/2012
Построение теней на C#. Часть 5
Итак, мы нашли верхнюю и нижнюю ячейки в заданном фрагменте столбца, ограниченном верхним и нижнем...
Date: 02/28/2012
Построение теней на C#. Часть 4
В прошлый раз мы увидели, сколькими разными способами можно неверно вычислить верхнюю ячейку,...
Date: 02/26/2012
Построение теней на C#. Часть 3
Прежде чем мы начнем, хочу поблагодарить всех за замечательные коментарии к предыдущим двум постам....
Date: 02/26/2012
Построение теней на C#. Часть 2
Я надеюсь, что основная идея алгоритма построения теней теперь ясна. Давайте приступим к его...
Date: 02/16/2012
Построение теней на C#. Часть 1
Мне всегда нравились игры вроде «rogue» («бродяга»); возможно вы тоже играли в некоторые из них. В...
Date: 02/06/2012
Люди, похожие на мошенников
Сегодня не будет технологий. Вместо этого несколько советов. Я не знаю, есть ли какие-то связи между...
Date: 02/01/2012
Так много интерфейсов, часть 2
В статье за апрель 2011 года о реализации интерфейсов я упомянул о том, что язык C# поддерживает...
Date: 01/09/2012
В чем разница между получением остатка от деления и взятия модуля?
Сегодня мы продолжим мою постоянную рубрику «В чем разница?» и рассмотрим разницу между получением...
Date: 01/04/2012