ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

acer ado.net amd asp.net c sharp c# cms css exceptions google html ipad iphone it бизнес javascript jquery linq microsoft mysql net nokia nokia lumia samsung seo silverlight sql surface tsql windows 8 windows blue windows phone windows rt xna безопасность библиотека вопросы на собеседовании интересные проекты интернет интернет магазин исключения книга книги компьютерная безопасность компьютерные игры контролы курсы по программированию логированние исключений мобильные приложения монетизация сайтов наушники новости новости it новости microsoft новости интернет новости технологий ноутбук ноутбуки обработка исключений оптимизация острова периферия планшет планшеты поддержка сайтов поисковое продвижение программы продвижение продвижение сайта продвижение сайтов рабство разработка игр разработка сайтов раскрутка сайта рекламные технологии смартфон смартфоны собеседование создание сайтов средства разработки туризм фриланс хостинг яндекс
  << Предыдущий пост       Следующий пост >>  
17. сентября 2012 13:45

c sharp

Рассмотрим по простому отличие между ключевыми словами ‘var’ и ‘dynamic’. Когда мы используем ‘var’ решение о том, какого типа будет переменная принимается компилятором во время компиляции. Но когда мы используем ‘dynamic’ решение о типе принимается уже во время выполнения программы. Если вы программировали на C# раньше, то вы уже знаете когда нужно использовать ключевое слово ‘var’: строго определяемый тип локальных переменных, для которых компилятор может определить тип из инициализирующего выражения - это очень полезная возможность, используемая повсеместно в LINQ. Из плюсов ‘var’ можно отметить более просто рефакторинг в некоторых случаях, из минусов мучения с определением/запоминанием типа переменной. Если исходник скомпилирован, то достаточно поднести курсор мыши к переменной. Но если все в var-ах, то может быть неудобно читать исходники. Ключевое слово ‘dynamic’ было введено в .NET Framework 4.0. NET Framework 4.0 также ввел поддержку Dynamic Language Runtime (DLR) для согласования с такими языками как IronRuby and IronPython (возможно они уже померли?). C# 4.0 предлагает доступ к DLR в использовании ключевого слова ‘dynamic’. C# это язык со статической типизацией и применение ‘dynamic’ типа ОТКРЫВАЕТ ДВЕРИ АДА. То есть, оно говорит компилятору, что это динамический ВЫЗОВ АДСКОГО СОТОНЫ, и надо перенести все проверки типа (и ошибки соответственно) на время выполнения. Я думаю после этого QA отдел (тестирования) будет не раз поминать крепким словом ‘dynamic’ ваше творчество.

Это перевод. Оригинал здесь.

Похожие записи


CommonLibrary.NET - полезных вспомогательные компоненты под C# 4.0
Коллекция удобных для повторного использования кода и компонентов, написанных на C # 4.0. Они реализуют следующие шаблоны (решают задачи): ActiveRecord, CSV, анализ командной строки, конфигурация, проверки, коллекции, аутентификация и многое другое. Представляет собой аналог библиотеки Java Commons из Java. Идеальна в качестве библиотеки утилит для разработчика н...

Как найти слова из больших букв в строке на C#
Однажды я помог другу создать API для текстового редактора на C#. Одним из требований к редактору было следующее: редактор должен находить в строке слова написанные большими буквами и подсвечивать их. Дальше идет пример показывающий, как слова из больших букв могут быть отфильтрованы в строке. static void Main(string[] args){ // code from DevCurry.com var str...

Многопоточный HTTP сервер на C#
Оригинал статьи здесь: Многопоточный сервер на C# за 15 минут Автор (на хабре): ertaquo C# довольно простой и гибкий язык. Вместе с .NET поставляется довольно много уже готовых классов, что делает его еще проще. Настолько, что вполне можно написать простой многопоточный HTTP-сервер для отдачи статического содержимого всего за 15 минут. Можно было бы использовать уже...

Комментарии

 
inbruk 21.09.2012 18:26:43 #

Примеры ситуаций в которых оправдано использование dynamic:

1) Вызов javascript-овых методов из Silverlight-а
2) COM interop при взаимодействии с MS Office API
3) Возможно при чтении Xml


Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий