Просмотр полной версии : [Вопрос] Что будет быстрее работать?
Всем привет. Что будет быстрее работать для 24/7, закусочных список товаров. Да и вообще что будет лучше??
1 код:
stock GetBusinessItem(b, i)
{
new ttextt[32];
switch(b)
{
case 1:
{
if(i == 0) ttextt = "Телефон\t\t\t{2BAB2B}170$";
if(i == 1) ttextt = "Телефонный номер\t\t{2BAB2B}300$";
if(i == 2) ttextt = "Телефонная книга\t\t{2BAB2B}250$";
if(i == 3) ttextt = "Букет цветов\t\t{2BAB2B}500$";
if(i == 4) ttextt = "Фотоаппарат\t\t\t{2BAB2B}500$";
if(i == 5) ttextt = "Маска\t\t\t{2BAB2B}230$";
if(i == 6) ttextt = "Аптечка\t\t\t{2BAB2B}340$";
}
/*case 2:
{
if(i == 0) ttextt = "Сотовый телефон";
if(i == 1) ttextt = "Телефонный номер";
}*/
}
return ttextt;
}
2 код:
new gShopObject[SHOP_OBJECTS][25] = {"Телефон","Номер SIM-карты","Аптечка","Часы","Букет цветов","Трость","Парашют","Маска","Фотоаппарат (50 cнимков)"};
Естественно, 2-ой вариант лучше и быстрее.
- - - Добавлено - - -
И в след. раз, если будете проверять значение одной переменной более 2-ух раз, используйте switch. Тоесть:
switch(i)
{
case 0: ttextt = "Телефон\t\t\t{2BAB2B}170$";
case 1: ttextt = "Телефонный номер\t\t{2BAB2B}300$";
case 2: ttextt = "Телефонная книга\t\t{2BAB2B}250$";
case 3: ttextt = "Букет цветов\t\t{2BAB2B}500$";
case 4: ttextt = "Фотоаппарат\t\t\t{2BAB2B}500$";
case 5: ttextt = "Маска\t\t\t{2BAB2B}230$";
case 6: ttextt = "Аптечка\t\t\t{2BAB2B}340$";
}
Естественно, 2-ой вариант лучше и быстрее.
- - - Добавлено - - -
И в след. раз, если будете проверять значение одной переменной более 2-ух раз, используйте switch. Тоесть:
switch(i)
{
case 0: ttextt = "Телефон\t\t\t{2BAB2B}170$";
case 1: ttextt = "Телефонный номер\t\t{2BAB2B}300$";
case 2: ttextt = "Телефонная книга\t\t{2BAB2B}250$";
case 3: ttextt = "Букет цветов\t\t{2BAB2B}500$";
case 4: ttextt = "Фотоаппарат\t\t\t{2BAB2B}500$";
case 5: ttextt = "Маска\t\t\t{2BAB2B}230$";
case 6: ttextt = "Аптечка\t\t\t{2BAB2B}340$";
}
Значит этот лучше всего юзать чем сток?
new gShopObject[SHOP_OBJECTS][25] = {"Телефон","Номер SIM-карты","Аптечка","Часы","Букет цветов","Трость","Парашют","Маска","Фотоаппарат (50 cнимков)"};
Значит этот лучше всего юзать чем сток?
new gShopObject[SHOP_OBJECTS][25] = {"Телефон","Номер SIM-карты","Аптечка","Часы","Букет цветов","Трость","Парашют","Маска","Фотоаппарат (50 cнимков)"};
Да.
Daniel_Cortez
21.11.2015, 16:19
Да, к массиву доступ будет намного быстрее.
Правда, иногда бывают ситуации, когда можно выйти за его пределы. Например, в OnDialogResponse в теории можно подделать на стороне клиента номер выбранной строки в списке (listitem) - тогда нужно проверять, чтобы значение listitem было не больше максимального индекса в массиве.
Пример:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid == MY_LIST)
{
static const lines[][10] =
{
{"строка 1"},
{"строка 2"},
{"строка 3"},
{"строка 4"},
{"строка 5"},
{"строка 6"},
{"строка 7"},
{"строка 8"},
{"строка 9"},
{"строка 10"},
};
if(listitem >= sizeof(lines))
listitem = sizeof(lines) - 1;
new string[64];
format(string, sizeof(string), "Вы выбрали строку №%d, содержимое: %s.", listitem, lines[listitem]);
return SendClientMessage(playerid, -1, string);
}
}
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot