ps List по сути динамический массив, во многих случаях он удобнее. Distinct() возвращает IEnumerable. если нужен строго массив на выходе, тоже все просто -
var uniques = ls.Distinct().ToArray();
List, IEnumerable и Array взаимно конвертируемы в любой комбинации. и для всех существует расширение Distinct()