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

quickmouse

Client
Регистрация
19.11.2010
Сообщения
113
Благодарностей
13
Баллы
18
Может может кто подсказать, есть список со ссылками, некоторые повторяются несколько раз, как отсеять только уник домены?
 

kagorec

Client
Регистрация
24.08.2013
Сообщения
1 038
Благодарностей
560
Баллы
113
Может может кто подсказать, есть список со ссылками, некоторые повторяются несколько раз, как отсеять только уник домены?
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)