Упражнения C#

Фильтрация тегов без повторов с HashSet в C#

В этом уроке вы с помощью HashSet оставите только различные теги, не учитывая регистр.

Введение

HashSet<T> - коллекция, которая хранит каждое значение только один раз. Она идеальна, когда нужны уникальные значения, например список тегов статьи. HashSet также очень быстро проверяет, есть ли в нём значение.

HashSet создан с компаратором StringComparer.OrdinalIgnoreCase, поэтому "C#" и "c#" считаются одним тегом. При инициализации тремя значениями повторяющийся тег пропускается, и в множестве остаётся 2 элемента. Без этого компаратора два написания стали бы разными тегами.

Как это работает

Выберите операцию, чтобы подсветить её результат на диаграмме. Добавьте значение, которое уже есть в множестве, и убедитесь, что дубликаты игнорируются.

Пример на C#, который можно запустить

C#
Запустить код →
Program.cs
using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        var tags = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { "C#", "dotnet", "c#" };
        Console.WriteLine(tags.Count);
    }
}
Результат выполнения
2

Практика с отладчиком

Поставьте точку останова на важное присваивание или условие, нажмите Debug и посмотрите локальные значения, прежде чем перейти к следующей строке.

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи