Отсеять уникальные домены из списка

  • Автор темы Автор темы quickmouse
  • Дата начала Дата начала

quickmouse

Client
Регистрация
19.11.2010
Сообщения
131
Реакции
20
Баллы
18
Может может кто подсказать, есть список со ссылками, некоторые повторяются несколько раз, как отсеять только уник домены?
 
Может может кто подсказать, есть список со ссылками, некоторые повторяются несколько раз, как отсеять только уник домены?
C#:
Развернуть Свернуть Копировать
// By Deepseek ;)

var list = project.Lists["links"];

lock(SyncObjects.ListSyncer)
{
    var uniqueDomains = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
    var result = new List<string>();

    foreach (var link in list)
    {
        try
        {
            // Парсинг URL с автоматической нормализацией
            var uri = new Uri(link.Contains("://") ? link : "http://" + link);
           
            if (uniqueDomains.Add(uri.Host))
            {
                result.Add(link); // Сохраняем оригинальную ссылку
            }
        }
        catch { /* Игнорируем некорректные URL */ }
    }

    // Обновление исходного списка
    list.Clear();
    list.AddRange(result.OrderByDescending(s => s.Length));
}

Какой вопрос такой ответ. Недостаточно примеров и ясного изложения мысли :)
 
  • Спасибо
Реакции: quickmouse

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)