Статический анализ оператора «is»

  Прежде чем переходить к сегодняшнему невероятному приключению, я хотел бы поздравить всё подразделение разработки с потрясающим продуктом, который мы запускаем официально. (Я приложил очень мало усилий к разработке Visual Studio 2012 и языку C# 5.0, поскольку был очень занят проектом Roslyn). Асинхронные возможности в языках C# и VB являются моими любимыми; новых возможностей очень…

1

Загадка с оператором «is». Часть 1

  Возможно, что в программе с некоторой локальной переменной x: bool b = x is FooBar; во время исполнения присваивается b значение true, даже если преобразование типов (явное или неявное) переменной x к FooBar запрещено компилятором! Т.е. выражение: FooBar foobar = (FooBar)x; в той же самой программе не будет компилироваться. Можете ли вы придумать подобный…

3

Небольшое отступление

Прежде чем мы продолжим наши изыскания, небольшое отступление. В прошлый раз я упомянул о головоломках Реймонда Смаллиана о «рыцарях и лжецах». И хотя мне очень нравятся эти головоломки, самыми любимыми его головками являются шахматные задачи, вторыми идут задачи на комбинаторику. Вот пример второго типа задач (адаптированная задача со страницы 134 книги Satan, Cantor and Infinity)….

0

Решение простой задачи

  При первом запуске моего визуализатора гистограмм я попробовал построить распределение Коши с диапазоном значений от -10 до 10, и, конечно же, я получил график, практически аналогичный графику из моей позапрошлой статьи: Выглядит он совершенно разумно; я решил, что мой код в порядке, ведь я крут! Затем я попробовал построить график равномерного распределения в диапазоне…

0

Простая задача

Моя исходная версия функции получения гистограмм, приведенная в предыдущей заметке, содержала небольшую ошибку. Сможете ли вы ее обнаружить без подсказки? private static int[] CreateHistogram(IEnumerable<double> data, int buckets, double min, double max) {   int[] results = new int[buckets];   double multiplier = buckets / (max – min);   foreach (double datum in data)   {…

0

О необычном свойстве строки

Сегодня исполняется пятнадцатая годовщина мой работы здесь, в компании Microsoft. Сложно поверить, что я уже полтора десятилетия занимаюсь разработкой инструментов для разработчиков. Я невероятно счастлив работать в такой замечательной команде, над такими замечательными инструментами для таких замечательных пользователей. И я с радостью смотрю в будущее на следующие полтора десятилетия! А теперь давайте вернемся к рассмотренной…

0

Каким интересным свойством обладает эта строка?

  В стандарте Unicode существует множество интересных моментов. Например, символы в диапазоне от U+A000 до U+A48F представляют собой слоги письменности носу, которая, видимо, является разновидностью китайской письменности, разработанной в эпоху династии Тан. Строка, состоящая из символов этого диапазона, обладает необычным свойством; строка содержит всего лишь два одинаковых символа: U+A0A2: string s = "ꂢꂢ"; Или, если…

0

Упаковывать или не упаковывать, вот в чем вопрос

Предположим, что у нас есть неизменяемый значимый тип (value type), который реализует интерфейс IDisposable. Предположим, он представляет собой некоторый дескриптор. struct MyHandle : IDisposable { public MyHandle(int handle) : this() { this.Handle = handle; } public int Handle { get; private set; } public void Dispose() { Somehow.Close(this.Handle); } } Вы можете размышлять следующим образом,…

0

Предупреждение

Оставшаяся часть видео нашей беседы с Нилом Гафтером (Neal Gafter) на NDC сейчас залита на сервер, сюда. Однако, внимание! – если вы не хотите знать решения восьми представленных нами головоломок, тогда не смотрите это видео. Конечно, постоянные читатели моего блога, скорее всего уже и так знают ответ на добрую половину из них, поскольку мы почерпнули…

0

Темная наука

Сегодня никаких компьютеров, но кое-что интересное и важное – математика. (И, веселого празднования Дня Канады всем канадцам!) "Car Talk" – это популярная еженедельная радиопередача по Национальному Открытому радио, которая идет уже несколько десятков лет и в которой братья из Бостона Том и Рэй острят по поводу проблем автомобилей и человеческих взаимоотношений. Одной из главных особенностей…

0