![]() |
C# 4.0
Вообще на ачатике как-то слабо освещалась тема нового .net, считаю что стоит создать какой-нибудь такой пост где все будут дрочить на новый .net
Наиболее понятно всё показано на схеме: http://www.hanselman.com/blog/conten...9C/image_7.png Хотел немного рассказать про использование DLR в C# 4.0 тут, был бы рад если вы тоже присоединились и отпостили что-нибудь интересное по теме. Проще всего описать всё это дело примером: Код:
static void Main(string[] args) |
Цитата:
Цитата:
|
Некому тут дрочить на нет 4 :(
|
>>Ага, и все в итоге тормозит безбожно.
имеешь в виду boxing/unboxing? |
Цитата:
Не поленился, и протестировал пример который дал топикстартер: Код:
DateTime now = DateTime.Now;00:00:00.4687500 00:00:00.0937500 То есть статическая типизация работает почти в 5 раз быстрее чем динамическая ... |
Algol, а ты оптимизацию не забыл отрубить? а то 00:00:00.0937500 - как-то совсем нереально смотрится
|
Цитата:
И почему нереально? Одна десятая секунды это не так-то и мало. |
для миллиона объединений строк - вообще не очень )
Вот то же на сях с плюсами и без: Код:
#include "windows.h"1407 1344 (на чистых сях такой код получился в результате постепенного улучшения) с оптимизацией так (видимо, там таки что-то повырезано): 453 922 но чтобы на .NET было во столько раз быстрее.. |
Ну вот промежуточный код. Из него видно, что компилятор ничего не вырезает и чесно крутит цикл:
Код:
00000064 nop |
Код:
string a = "hello "; |
станет удобней писать различные паттерны проектирования
|
Цитата:
На самом деле var это еще не динамическая типизация. Значение типа для var определяется на этапе компиляции. А вот dynamic - действительно динамическая типизация. Мое мнение - dynamic введено просто для совместимости со скриптовыми языками типа питона. Ну еще может оказаться полезным для COM, или всяких фокусов с reflection. В любом случае, польза от dynamic сомнительна, зато гемор в виде run-time exceptions - гарантирован. |
Да, тоже не сторонник подобных нововведений. Как известно трамвай не давит людей на тротуарах независимо от того насколько пьян кондуктор (не помню кого цитирую). А из-за подобного сахара разработчик получает ещё одну возможность прострелить себе ногу.
|
>>А вот здесь я хочу отметить капитальный геморой C# при передаче измененных параметров между формами!
нет геморроя, если подход через *опу, то ответный результат будет в виде исп*ажнений. var это не dynamic. в 4.0 базовый функционал расширили. сахар такая вещь, хочешь используй, хочешь нет. Дело вкуса и привычки, а как известно на вкус и цвет. dynamic само по себе аналог variable (Delphi) имха. чего я ждал в 4.0 это аналог оператора with :( вот этого мне не хватает. |
| Время: 21:19 |