Если Вы довольно довольны WebForms сегодня, то, возможно, ASP.NET MVC не для Вас.
я расстраивался WebForms в течение действительно долгого времени. Я являюсь определенно не одним здесь. Умный клиент, абстракция с сохранением информации по обрывам полотна вниз сильно в сложных сценариях. Я, оказывается, люблю HTML, JavaScript и CSS. WebForms пытается скрыть это от меня. Это также имеет некоторые действительно сложные решения проблем, которые являются действительно не тем комплексом. Веб-формы также по сути трудно протестировать, и в то время как можно использовать MVP, это не отличное решение для веб-среды... (по сравнению с MVC).
MVC обратится к Вам, если... - Вы захотите больше управления своим HTML - хотят бесшовный опыт ajax как любая платформа, имеет - хотят тестируемость до конца - хотят значимые URL - ОЧЕНЬ НЕ ХОТЯТ иметь дело с обратной передачей & проблемы состояния отображения
И что касается платформы, являющейся Предварительным просмотром 5, это довольно стабильно, дизайн главным образом там, и обновление не является трудным. Я запустил приложение на Предварительном просмотре 1 и обновил в течение нескольких часов после новейшего предварительного просмотра, являющегося доступным.
++ $ i
является пре-инкрементом, а $ i ++
пост-инкрементом.
i
, а затем отмена ссылки. i
«Воспользуйтесь тем, что PHP позволяет выполнять пост-инкремент ($ i ++) и предварительное приращение (++ $ i). Значение то же самое, пока ты не написать что-нибудь вроде $ j = $ i ++, однако предварительное увеличение составляет почти 10% быстрее, а это значит, что вам следует переключиться с пост- на прединкрементное когда у тебя есть возможность, особенно в узких петлях и особенно если вы педантичны микрооптимизации! " - TuxRadar
Для дальнейшего пояснения, пост-инкремент в PHP был задокументирован как хранение временной переменной, которая атрибутирует эти 10% накладных расходов по сравнению с пре-инкрементом.
++ $ i
предварительно инкрементно
$ i
увеличивается $ i ++
пост -incrementation
$ i
, скопированное во внутреннюю временную переменную $ i
, увеличивается $ i
] возвращается ++$i //first increment $i then run line
$i++ //first run line then increment $i
Разница : ++ $ i
увеличивает переменную $ i
и возвращает обновленное значение, а $ i ++
вернет исходное значение, поэтому увеличивайте его.
$prefix = 1;
$postfix = 1;
echo ++$prefix; // 2
echo $postfix++; // 1
Другой способ взглянуть на пре и последующее приращение - это сокращение для объединения двух операторов.
Предварительное приращение
// long form
$y = $y + 1;
$x = $y; // any statement using $y
// shorthand
$x = ++$y; // the same statement using $y
Пост-приращение
// long form
$x = $y; // any statement using $y
$y = $y + 1;
// shorthand
$x = $y++; // the same statement using $y
Чтобы объяснить точку зрения jldupont:
$i = 1;
$x = $i++;
echo $x; // prints 1
$x = ++$i;
echo $x; // prints 3
Это, вероятно, лучше всего проиллюстрировано на примере ...
Пост-инкремент:
$zero = 0;
$n = $zero++; //$n is zero
Предварительный инкремент:
$zero = 0;
$n = ++$zero; //$n is one
Краткий ответ:
Длинный ответ: Если вы немного задумаетесь, как бы вы реализовали их сами, вы, вероятно, поймете , почему префикс быстрее. По правде говоря, постфикс фактически (часто) реализуется с использованием префикса :
const T T::operator ++ (int) // postfix
{
T orig(*this);
++(*this); // call prefix operator
return (orig);
}
Избегайте постфикса, если у вас нет конкретной причины не делать этого. Разница в скорости может быть довольно значительной для сложных типов данных.
Я действительно искал это несколько дней назад. Вот мой источник.
++ $ i
увеличивает $ i
, но оценивает значение $ i + 1
$ i ++
приращение $ i
, но возвращает старое значение $ i
.
Вот пример:
$i = 10;
$a = $i++;
// Now $a is 10, and $i is 11
$i = 10;
$a = ++$i;
// Now $a is 11, and $i is 11
Иногда бывает небольшая предварительная стоимость использования $ i ++
. Видите ли, когда вы делаете что-то вроде
$a = $i++;
, вы действительно делаете это:
$temporary_variable = $i;
$i=$i+1;
$a=$temporary_variable;