// 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));
}
Какой вопрос такой ответ. Недостаточно примеров и ясного изложения мысли