Эффективный способ удаления повторяющихся строк из массива строк в C #

Я хотел бы узнать эффективный метод удаления повторяющихся элементов из строкового массива в C #.

Например,

string[] a = { "abc", "xyz","abc", "def", "ghi", "asdf", "ghi","xd", "abc" };

станет,

string[] a = { "abc", "xyz","def", "ghi", "asdf", "xd" };

Как заполнить пробелы после удаления повторяющиеся записи? Есть ли способ сделать это без использования дополнительного массива для хранения элементов?

Метод, который я использовал:

1) Sorted the array

2) Replaced the duplicate entries with null

3) Copied NOT null string to a new array.

Но ищу оптимизированный способ сделать то же самое.

РЕДАКТИРОВАТЬ: Я использую .NET 2.0 и VS 2005

5
задан SyncMaster 11 April 2011 в 11:48
поделиться