- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
if (",0,1,2,5,6,9,10,11,14,17,18,".IndexOf("," + cc + ",") != -1)
{
gridwells[rid, cc].Editor = null;
gridwells[rid, cc].View.BackColor = Mark_FormFunctions.DefColor;
}
else if (",3,4,7,8,15,12,13,".IndexOf("," + cc + ",") != -1)
{
gridwells[rid, cc].Editor = DoubleEditor;
gridwells[rid, cc].View = Mark_FormFunctions.EditView;
}
Чтобы писать
Да и данный гк можно было сделать поадекватнее, если смотреть не в строке, а в массиве чисел.
хотя в данном случае:
К.О.
мне показалось что там четные-нечетные числа
А это скомпилится не в перебор массива случайно? Битсеты-то компилятся в простую проверку бита, а тут что?
можно, конечно, нагородить но зачем?
тем более что массив можно сохранить в конфиге и распарсить, а switch - нельзя
В любом случае массив лучше строки.
оно, конечно, быстрее массива (premature optimization, ага), хотя я уверен не существует такого кода, где это имело бы значение, а если и существует - то это плохой дизайн
зато массив можно сохранить в конфиг
Свитчи оптимизирует компилятор без ущерба читабельности кода.
Самое большое зло в программировании - это называть любую оптмизацию "предваритальной" (даже если этот термин ну ваще в контексте не пришей пизде рукав) и вспоминать тот древний лозунг.
Кстати, один из паттернов говнокода - предварительная пессимизация.
я выбираю массив
У тебя походу оптимофобия.
То есть ты любой более оптимальный вариант (независимо от его адекватности и читабельности) сразу считаешь злом и пытаешься себе доказать, что он менее читабелен.
и
А, ну да, в сишарпе не додумались до этой фичи, ты хочешь сказать.
Это может быть нужно лишь при переходе проекта с языка на язык.
Или написания какого-то "скриптового" языка, например для игр, и то есть более подходящие для этого средства.
в теории кто-угодно Лев Толстой
но .NET 3.5 only
так что для 2.0 и массив подойдет
как любят говорить американцы: is it your bottleneck?
почему-то вспомнилось: http://tinyurl.com/26yfq3q
кстати да
завтра 110
а за 110 свичей человека не грех и уволить
если он конечно не пишет драйвер для встраиваемового устройств
В оконной функции?
В нормальных языках в свич можно пихать диапазоны и перечисления, так что 110 свичей будут выглядеть вполне нормально.
Но ты бы это в 9000 кейсов расписал.
перечисли ка теперь "нормальные" языки
с гонорара ставишь, короче
в более сложных фабрика...
Минусанули... ))
Как там щас с этим обстоят дела?
помню книга даже была по алгоритмам и структурам данных, в некоторых случаях авторы прибегали к сям
и то это тогда пишется не руками а генерится автоматом
например 20 типов заказа
tzSrochno: begin
end;
tzNeOchenSrochno: begin
end;
итд. Что тут не сортируется?
А если надо делать выбор по строке - то тут, если строк много, надо строить карту строк и делать свитч по индексу строки в карте.
в конфиге (зло а что делать) можно перечислить все 110
либо парсить выражения типа "1-55,58,59-110" с помощью регэкспа и разворачивать их в массив
со свичом такое вообще нереально
:D
Уважаемый Петросян, не убивайте меня, пожалуйста, смехом.
сделайте для него range пожалуйста, как Вы тут говорили "1-55"
что-то настроение праздничное...
смысл его в том, что вместо цепочки ифов мы делаем несколько классов, каждый их которых инкапсулирует в себе поведение для каждого случая. Мы один раз выбираем класс, и потом его используем.
тоесть мы заменяем иф на вызов метода объекта!
это ли не пессимизация?
Вы будете делатьс тратегию или будете писать по 6 кейсов на каждый раз, когда нужно что-то проверить?
а если таких разов 10?
А вот каким хреном массиив читабельнее свитча - это я понять не могу, это что-то на уровне самовнушения "оптимально - значит нечитабельно".
Что тоже можно эмулировать в рантайме.
Но если условия меняются - то битсет лучше.
Вечная кара ему!
И ? BitVector32 и BitArray как бы не одно и то же.
Нет. Просто гость с отшибленной головой.
Какими судьбами Вас к нам занесло? :)
Чем разговаривать с безголовым, лучше бы поучавствовали в холиваре:
http://govnokod.ru/5135
http://govnokod.ru/5136
, где требуется защита С++!
А то С++ без Вас там не справиться и сольёт даже паскалистам!
Неужели Вы такое допустите?
холиварс нот детектед
финдинг оператион файлед
бсод
ребут мачхин
блеат