Как удалить дубликаты из TextBox?

У меня есть текстовое поле, в котором каждый элемент находится на новой строке. Я пытаюсь удалить дубликаты из этого текстового поля. Я ничего не могу придумать. Я пытался добавить каждый элемент в массив и удалить дубликаты, но это не сработало. Есть ли другие варианты?


person Jeremy    schedule 01.01.2011    source источник
comment
Я пытался добавить каждый элемент в массив и удалить дубликаты, но это не работает - что не работает? Ни у кого здесь нет батареек с их рождественскими хрустальными шарами...   -  person Mitch Wheat    schedule 01.01.2011
comment
Если добавление каждого элемента в массив и удаление дубликатов не сработало, это потому, что вы сделали это неправильно. Обратите внимание, что когда вы просите кого-нибудь помочь выяснить, почему то, что вы сделали, не сработает, принято показывать, что именно вы сделали.   -  person Jonathan Wood    schedule 01.01.2011


Ответы (2)


Опираясь на то, что написал Энтони Пеграм, но без отдельного массива:

yourTextBox.Text = string.Join(Environment.NewLine, yourTextBox.Lines.Distinct());

person CSharper    schedule 05.01.2011

Добавьте все элементы в массив строк и используйте этот код для удаления дубликатов.

public static string[] RemoveDuplicates(string[] s)
{
    HashSet<string> set = new HashSet<string>(s);
    string[] result = new string[set.Count];
    set.CopyTo(result);
    return result;
}

Для получения дополнительной информации см. Удалить дубликаты из массива.

person Tasawer Khan    schedule 01.01.2011