AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.12.2004, 05:11   #23  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Цитата:
Изначально опубликовано mazzy

Не выдержал таки, вставлю и свои 5 копеек.

Задача switch - вовсе не повышение читабельности и не уменьшение нажатий на кнопки.

switch отличается от else if в том, что выражение в условии вычисляется ОДИН раз.
Разница в производительности проявляется, если в условии стоит не простая переменная, а сложное выражение.

Так, например, если в условии стоит какой-нибудь поиск в базе по нескольким таблицам, то switch будет вычислять это выражение один раз. А для else if придется создавать временную переменную.
Согласен. Действительно забыл про это.
Но:
1. switch( true ) этим достоинством не обладает.
2. случаи когда в switch стоит сложное выражение и для него уже не создано временной переменной достаточно редки, я даже не припомню таких случаев на своей памяти В 99% случаев применения switch выглядит именно так:
PHP код:
switch ( имя_переменной )
{
case 
значение1:
... break;
case 
значение2:
....break;
// и очень-очень редко, хотя стоило бы всегда:
default:
...break;

А вот прямо сейчас вот посмотрел в мануал по языку и увидел тот случай, когда switch выглядит проще и легче читается:
PHP код:
switch (Number 10)
{
case 
10,12,14 /* a */; break;
case 
13,17,21,500 /* b */; break;
default : 
/* c */; break;

Теги
switch, диапазон условий, интерпретатор, компилятор, полезное, программирование, разработка, условный оператор

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX UK: Additional Customer Case studies for AX 2009 Blog bot DAX Blogs 1 01.04.2009 07:41
Книга Покупок можно ли не закрывать? asabin DAX: Функционал 1 18.11.2005 17:50
Можно ли в инамическом запросе использовать "group by"? yooshi DAX: Программирование 26 23.09.2005 16:35
Как задать высоту строки в гриде в символах. Logger DAX: Программирование 8 11.08.2005 13:03
Можно ли поменять налоговый код по проведенной закупке или накладной поставщика Голова 2уха DAX: Функционал 1 25.10.2004 11:51

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:13.