OberonCore https://forum.oberoncore.ru/ |
|
Есть аналог SET в C#? https://forum.oberoncore.ru/viewtopic.php?f=27&t=3415 |
Страница 1 из 1 |
Автор: | Евгений Темиргалеев [ Среда, 20 Апрель, 2011 13:48 ] |
Заголовок сообщения: | Есть аналог SET в C#? |
BitVector32 ? http://msdn.microsoft.com/en-us/library ... aspx#Y1368 Или есть что попроще? P.S. Примеры альтернативных механизму "SET" решений при проверке на принадлежность: http://govnokod.ru/5104. Обсуждают, по-моему, серьёзно... Вложение: Вложение: Вложение: Вложение:
|
Автор: | Валерий Лаптев [ Среда, 20 Апрель, 2011 13:59 ] |
Заголовок сообщения: | Re: Есть аналог SET в C#? |
Посмотри в сторону битовых операций с целыми числами. В С++, во всяком случае, так именно делают. Но если нужен доступ к биту по индексу, то либо использовать реализованный bitvector, либо скоренько написать свой попроще. |
Автор: | Евгений Темиргалеев [ Среда, 20 Апрель, 2011 14:01 ] |
Заголовок сообщения: | Re: Есть аналог SET в C#? |
Меня интересует самый близкий аналог, а ещё лучше --- примеры использования (со ссылками, если кто знает). про побитовые операции я в курсе, спасибо |
Автор: | Валерий Лаптев [ Среда, 20 Апрель, 2011 14:03 ] |
Заголовок сообщения: | Re: Есть аналог SET в C#? |
Вот этот bitvector и есть, других не видел. |
Автор: | Евгений Темиргалеев [ Среда, 20 Апрель, 2011 14:10 ] |
Заголовок сообщения: | Re: Есть аналог SET в C#? |
Нашел BitArray (http://msdn.microsoft.com/en-us/library ... array.aspx) Вы не про него? Поиск MSDN по bitvector выдаёт на первом месте - BitVector32 Structure (System.Collections.Specialized) - c# - Why BitVector 32 structure is more efficient than BitArray ... |
Автор: | Peter Almazov [ Среда, 20 Апрель, 2011 16:21 ] |
Заголовок сообщения: | Re: Есть аналог SET в C#? |
Для побитовых операций с целыми используют тип Enumeration и атрибут [Flags]: http://msdn.microsoft.com/en-us/library/cc138362.aspx |
Автор: | Евгений Темиргалеев [ Среда, 20 Апрель, 2011 16:56 ] |
Заголовок сообщения: | Re: Есть аналог SET в C#? |
Спасибо. Эти enumeration умеют выводиться как множество (p://msdn.microsoft.com/en-us/library/sy ... ibute.aspx) Код: All possible combinations of values of an Enum with FlagsAttribute: Чем-то ещё от использования просто целых (для представления множества) они отличаются? Определять их значения как степени двойки надо вручную, или атрибут [flags] это гарантирует?
0 - Black 1 - Red 2 - Green 3 - Red, Green 4 - Blue 5 - Red, Blue 6 - Green, Blue 7 - Red, Green, Blue 8 - 8 |
Автор: | Сергей Губанов [ Четверг, 21 Апрель, 2011 12:25 ] |
Заголовок сообщения: | Re: Есть аналог SET в C#? |
> Есть аналог SET в C#? В C# работа с битами осуществляется прямо над целым числом как в обычном Си. Всякие там битвекторы есть просто библиотечные нашлёпки поверх битовых операций над целыми. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |