Нет, не действительно. Это - вопрос предпочтения действительно. Мне понравилось работать в Visual Studio 6, но в наше время более новые версии просто слишком чрезмерно увеличены в размере. Таким образом, если я могу сделать что-то вне VS, я обычно делаю это, не открывая целое поле IDE.
окна On мне нравятся notepad2 и gvim. Я настроил энергию до такой степени, когда, она удовлетворяет моим потребностям отлично, таким образом, я не должен думать о какой и где.
, Но, хорошо упомянуть, что (Вы могли также понять это собой, читая подобные сообщения), много пользователей использует vim/emacs/... потому что из heard-its-the-best/cool-factor/actual-usability. Таким образом, если это не подходит Вам, не используйте его. То, что я собирался взгляда Вы неправильный путь причина этого.
Я думаю, что это просто упущение авторов BCL. .NET 3.5 имеет класс HashSet ; для более ранних версий я рекомендую заключить Dictionary
В .NET 4.0 HashSet
будет модернизирован для реализации даже нового интерфейса ISet
.
.NET 3.5 имеет HashSet , который выполняет все операции с наборами.
В наши дни есть HashSet
, но, к сожалению, нет интерфейса, о котором я знаю.
Как отмечали другие, существует HashSet
, который на самом деле является просто набором.
Причина, по которой перед ним стоит хэш (деталь реализации набора, поскольку он использует хэши для устранения дубликатов) потому, что Набор
является ключевым словом в VB.NET.
Недавно я тоже перешел с Java на .Net (из-за профессиональной занятости), и я должен признать, что мои первоначальные проблемы также были связаны с коллекциями.
В текущей версии .Net (3.5 и если говорить о C #) вам следует ориентироваться на
ICollection
IList
List
IDictionary
IEnumerable < T>
Это наиболее часто используемые (надеюсь, я не пропустил ни одного)
Возможно, причина в том, что набор на самом деле является просто списком с определенной деталью реализации, которая ограничивает элементы в нем отличием. Поскольку отчетливость списка заключается в реализации, а не в интерфейсе, интерфейс не требуется.
Как уже упоминалось, FCL имеет HashSet
.
Может быть, из соображений образования.
Типичный программист видит наборы как волшебный контейнер, который работает независимо от того, сколько в нем элементов.
Если нет явного набора , программист вынужден выбирать из других типов и при этом размышлять о количестве элементов и соответствующей структуре данных для достижения хорошей производительности.
Просто дикая догадка.