Получение списка уникальных доменов из списка рассылки

Скажем, например, у меня есть список писем вроде:

a@domain.com
b@domain.com
c@domain.com
d@sub.domain2.com
g@sub.domain2.com
x@gmail.com
y@analytics.gmail.com
z@yahoo.com

Я хочу получить часть после @и только получить ее один раз (уникальный).

То, что я пробовал до сих пор:

string[] campusCup(string[] emails)
{
    var hs = new HashSet<string>();

    var emailList = emails.Select(x => new { domain = x.Split('@')[1] })
                            .Where(x => hs.Add(x.domain) && Write(x.domain));

    return hs.ToArray();
}

мое решение, похоже, ничего не выбирает, когда я пытаюсь его отладить.

c#,.net,linq,.net-core,

2
Яндекс.Метрика