Re[5]: Какой аналог в C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.07.05 03:22
Оценка:
Здравствуйте, Димон, Вы писали:

Д>Вопрос, как я понял, не в необходимости, а в возможности.

Д>Естественно, есть различные обходные пути в виде 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']
С/у Дмитрий.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[6]: Какой аналог в C#
От: _FRED_ Черногория
Дата: 02.07.05 05:00
Оценка:
Здравствуйте, Димон, Вы писали:

>>С чего бы это? 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.
Re[2]: Какой аналог в C#
От: Dmitry_Ch  
Дата: 02.07.05 13:28
Оценка:
V>Здравствуйте, JazzzMaster, Вы писали:

JM>>В Delphi можно написать такой код:


JM>>
JM>>var ch : char;
JM>>...
JM>>if ch in ['a','d','x'] then
JM>>


JM>>Как такое будет выглядеть на C#? Я так понял оператора вхождения в множество в шарпе нет..


V>Как нет ? ArrayList::Contains();


Поддержка динамических массивов — это хорошо, но операции со множествами, хотя бы простенькие (пересечение, вычитание) не поддерживаются.
Какой аналог в C#
От: Аноним  
Дата: 02.07.05 14:05
Оценка:
2JazzMaster:

IDictionary set = new Hashtable();
set.Add('a','a')
set.Add('d','d')
set.Add('x','x')

if (set.Contains(ch))
{
}

-- Если тебе помогли, незабудь сказать спасибо --
-- Это всё мое личное мнение которое может не совпадать с Вашим или может быть ошибочным --

.NetCoder


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[3]: Какой аналог в C#
От: _FRED_ Черногория
Дата: 02.07.05 14:06
Оценка: 28 (3)
Здравствуйте, Dmitry_Ch, Вы писали:

D_C>Поддержка динамических массивов — это хорошо, но операции со множествами, хотя бы простенькие (пересечение, вычитание) не поддерживаются.


На уровне языка — нет, но те, кому надо, используют, например, и это::

Q: Is there any work going on like creating a feature rich template library (like www.boost.org) for c#?
A: Not sure of anything exactly like boost but you might want to start out with C5 (http://www.itu.dk/research/c5/) and the Power Collections (http://www.wintellect.com/powercollections/ and http://wintellect.com/WEBLOGS/pgolde/) projects.

[ здесь ]
<< RSDN@Home 1.1.4 beta 7 rev. 500 >> =06:06= [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.
Re[6]: Какой аналог в C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.07.05 15:25
Оценка: +1
Здравствуйте, Димон, Вы писали:

>>С чего бы это? switch как минимум не менее эффективен. Просто более громоздок.<

Д>Безусловно. Но к сожалению, в нем очень сложно указать перечисления типа ['a'..'d', 'e', 'g']

Ну, тут уж ничего не поделашь. Придется использовать сочетание ифов и свитча.

ЗЫ

Я тоже жалею, что подобной дельфийской конструкции нет в Шарпе. Хорошо хоть, что она не так уж часто нужна.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Какой аналог в C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.07.05 15:25
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>А в скобках квадратных можно казать переменные? Или только константы дозволены?


Только констранты. Это такой паттерн-матчинг.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Какой аналог в C#
От: _FRED_ Черногория
Дата: 05.07.05 21:41
Оценка:
Здравствуйте, VladD2, Вы писали:

_FR>>А в скобках квадратных можно казать переменные? Или только константы дозволены?


VD>Только констранты. Это такой паттерн-матчинг.


Значит снова сахар. Но сладкий.

ЗЫ. реализовать его прекомпилятором — копейки, или я чего-то не вижу
Help will always be given at Hogwarts to those who ask for it.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.