What is a HashSet?
Часть раздела Логика и управление потоком путешествия по C# на Coddy — урок 56 из 66.
HashSet — это коллекция в C#, которая хранит уникальные элементы без определённого порядка. Она входит в пространство имён System.Collections.Generic и предоставляет высокопроизводительные операции над множествами.
Сначала подключите необходимое пространство имен:
using System.Collections.Generic;Создайте пустой HashSet:
HashSet<string> fruits = new HashSet<string>();Это создает HashSet, который может хранить строковые значения.
В отличие от массивов или списков, HashSets:
- Не допускают дублирующиеся элементы
- Не сохраняют порядок вставки
- Обеспечивают быстрые операции поиска (O(1) complexity)
- Идеальны для случаев, когда нужно обеспечить уникальность
Если вы попытаетесь добавить дублирующийся элемент, HashSet проигнорирует его:
fruits.Add("Apple");
fruits.Add("Apple"); // This is ignoredПосле выполнения приведённого выше кода множество по-прежнему содержит только один "Apple".
Шпаргалка
HashSet — это коллекция, которая хранит уникальные элементы без определённого порядка и предоставляет быстрые операции поиска.
Подключите необходимое пространство имён:
using System.Collections.Generic;Создайте HashSet:
HashSet<string> fruits = new HashSet<string>();Ключевые характеристики:
- Дублирующиеся элементы не допускаются
- Порядок вставки не сохраняется
- Быстрые операции поиска (сложность O(1))
- Добавления дубликатов игнорируются
Добавление элементов:
fruits.Add("Apple");
fruits.Add("Apple"); // Игнорируется — дубликатов нетПопробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling8Data Analysis System
Data Collection SetupData Entry Logic11HashSet Part 1
What is a HashSet?Adding an ElementRemoving an ElementChecking if an Element ExistsEmpty and SizeRecap - HashSet3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety