Tsiren Naimanov, возможно, тогда тот же вопрос к преподу :) ну сколько можно, а самое главное нужно ли ? Может уже на F# студентов учить пора, имхо более правильное мышление вырабатывается.
res2001, Например статистику переходов зависящую от рантайм данных, таким образом JIT может _перекомпилировать_ в рантайме на более эффективное ветвление например.
Отмечу, что скоро будет возможность собирать C# как нэйтив т.е. наличие .NET требоваться не будет. Но также отмечу, что имхо GC это супер, но скорее всего съест все выигрыши, плюс при активном создании объектов может "завесить" программу в любой момент на несколько сотен миллисекунд.
2000 это не много даже для обычного не SAX XML парсера, но увы не xml, значит либо регулярками, если переносы строк есть нормальные, либо см. ниже html парсер.
xml получаю сериализацией доменной модели, затем xslt преобразование в xsl-fo, затем xsl-fo скармливаю fop процессору, для java Apache FOP , но у меня .NET поэтому fonet.
Таким образом пишется по сути xslt преобразование, которое из доменной модели получает размеченный документ, дальше работа FOP процессора.
Забей на статью аФтор, который подобным образом пишет методы расширений не понимает как и зачем использовать EF. IEnumerable и IQueryable это интерфейсы, которые реализованы той или иной коллекцией, более того IQueryable наследуется от IEnumerable и если некий метод возвращает IEnumerable то в вызывающем коде можно можно попробовать привести его к IQueryable и продолжить построение expression tree. Фактическая компиляция и выполнение запроса происходит только при вызове ToList().
Представь таблицу с миллионом записей ...
Подумай в чем разница ?
public IEnumerable SomeMethod()
{
return db.SomeValue.Select(item=>item);
}
и
public IEnumerable SomeMethod2()
{
db.SomeValue.Select(item=>item).ToList().Take(100);
}
...SomeMethod().Where(...);
и
...SomeMethod2().Where(...);
Пусть SomeMethod часть репозитория почему возвращается не IQueryable ?
прочитай про метод Include, надеюсь возникнут хорошие вопросы на, которые с удовольствием отвечу.
Борис Животное: Не надо думать :) надо использовать профайлер, обращение по индексу( даже несколько раз) быстрее, чем выделение памяти, даже если выделение на стеке. В данном случае надо знать в m_slots лежит объект структуры или ссылочный тип например. Есть и другие нюансы так что только профайлер.
Виталий Кузнецов: identity использует EF, который для пользователей создает табличку AspNetUsers. Можно описать необходимую модель в EF включая связи с сущностью пользователя и расширить её. Можно используя механизмы расширения identity заменить storage для пользователей и хранить их в любых таблицах. Для работы аутентификации и авторизации фронт енд не нужен (минимальный, для регистрации, смены пароля и т.п., там есть), в принципе весь необходимый функционал по управлению ролями и пользователями реализован в Microsoft.AspNet.Identity нужно только написать фронт что бы его использовать.