Здравствуйте, Dmitry_Ch, Вы писали:
D_C>Поддержка динамических массивов — это хорошо, но операции со множествами, хотя бы простенькие (пересечение, вычитание) не поддерживаются.
На уровне языка — нет, но те, кому надо, используют, например, и это::
Здравствуйте, Димон, Вы писали:
>>С чего бы это? switch как минимум не менее эффективен. Просто более громоздок.< Д>Безусловно. Но к сожалению, в нем очень сложно указать перечисления типа ['a'..'d', 'e', 'g']
Ну, тут уж ничего не поделашь. Придется использовать сочетание ифов и свитча.
ЗЫ
Я тоже жалею, что подобной дельфийской конструкции нет в Шарпе. Хорошо хоть, что она не так уж часто нужна.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, JazzzMaster, Вы писали:
JM>В Delphi можно написать такой код:
JM>
JM>var ch : char;
JM>...
JM>if ch in ['a','d','x'] then
JM>
JM>Как такое будет выглядеть на C#? Я так понял оператора вхождения в множество в шарпе нет..
да нет. Думаю полного соответсвия достичь врядли удастся, но что-то получить можно. Например приведенный пример можно записать так
Здравствуйте, SiAVoL, Вы писали:
SAV>да нет. Думаю полного соответсвия достичь врядли удастся, но что-то получить можно. Например приведенный пример можно записать так SAV>
Здравствуйте, Virus Quartirus, Вы писали:
VQ>вот это уже действительно изврат, код-то будет делать одно и то же..
VQ>данное сообщение получено с www.gotdotnet.ru VQ>ссылка на оригинальное сообщение
не понятно зачем сделано именно так...
возможно они хотели, чтобы программисты реже использовали оператор switch/case
Здравствуйте, Othello, Вы писали:
O>Здравствуйте, Virus Quartirus, Вы писали:
VQ>>вот это уже действительно изврат, код-то будет делать одно и то же..
VQ>>данное сообщение получено с www.gotdotnet.ru VQ>>ссылка на оригинальное сообщение
O>не понятно зачем сделано именно так... O>возможно они хотели, чтобы программисты реже использовали оператор switch/case
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, SiAVoL, Вы писали:
SAV>>if ch in ['a'..'x'] then SAV>>[/pascal] SAV>>вот такое сделать без написания своих функций (и без R# ) нельзя
VD>
VD>if (ch >= 'a' && ch <= 'x')
VD>
VD>И, кстати, IndexOf и темболее new char[] — это значительно медленее чем просто проверка на равенство.
А если создать статический ассоциативный контейнер? Уже бинарное дерево сделает сложность логарифмичесткой, а не линейной...
Здравствуйте, Alik, Вы писали:
A>А если создать статический ассоциативный контейнер? Уже бинарное дерево сделает сложность логарифмичесткой, а не линейной...
Какие деревья на 2 элементах? Ты на вызовы методов убъешь времени больше.
Надо сораизмерять задачи и решения.
Самы простой и быстрый метод — это if-ы (до 4 элементов) и switch. switch в приниципе универсальное решение, но громоздкое.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Какой аналог в C#
От:
Аноним
Дата:
02.07.05 03:12
Оценка:
Вопрос, как я понял, не в необходимости, а в возможности.
Естественно, есть различные обходные пути в виде switch'a, массива, а мб и структуры, но это из пушки по воробьям.
Просто делфийцам в шарпе не хватает простой и легкой конструкции in, равно как, и witch.
Но по сравнению с приобретаемыми возможностями, это такие мелочи.
Здравствуйте, Димон, Вы писали:
Д>Вопрос, как я понял, не в необходимости, а в возможности. Д>Естественно, есть различные обходные пути в виде switch'a, массива, а мб и структуры, но это из пушки по воробьям.
С чего бы это? switch как минимум не менее эффективен. Просто более громоздок.
Д>Просто делфийцам в шарпе не хватает простой и легкой конструкции in, равно как, и witch. Д>Но по сравнению с приобретаемыми возможностями, это такие мелочи.
+1
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Какой аналог в C#
От:
Аноним
Дата:
02.07.05 03:36
Оценка:
>С чего бы это? switch как минимум не менее эффективен. Просто более громоздок.<
Безусловно. Но к сожалению, в нем очень сложно указать перечисления типа ['a'..'d', 'e', 'g']
Здравствуйте, Димон, Вы писали:
>>С чего бы это? switch как минимум не менее эффективен. Просто более громоздок.< Д>Безусловно. Но к сожалению, в нем очень сложно указать перечисления типа ['a'..'d', 'e', 'g']
А в скобках квадратных можно казать переменные? Или только константы дозволены?
<< RSDN@Home 1.1.4 beta 7 rev. 500 >> =09:00= [Windows XP — 5.1.2600.0] {Build at .NET 1.1.4322.2032}
under «*none*»
Help will always be given at Hogwarts to those who ask for it.
Здравствуйте, VladD2, Вы писали:
_FR>>А в скобках квадратных можно казать переменные? Или только константы дозволены?
VD>Только констранты. Это такой паттерн-матчинг.
Значит снова сахар. Но сладкий.
ЗЫ. реализовать его прекомпилятором — копейки, или я чего-то не вижу
Help will always be given at Hogwarts to those who ask for it.