Pergunta
Existe uma maneira fácil de obter apenas os valores exclusivos de uma lista de strings em C #? Meu google-fu está falhando me hoje.
(eu sei que posso colocá-los em uma outra estrutura e retirá-los novamente. Estou procurando estupidamente-fácil, como método .uniq de Ruby. C # tem sangrenta bem tudo o mais, por isso estou provavelmente apenas usando o errado sinônimo.)
Especificamente, este é proveniente de Linq, então se Linq teve um built-in maneira de selecionar apenas strings únicas, que seria ainda mais frio.
Solução
List<string> strings = new string[] { "Hello", "Hello", "World" }.ToList();
strings = strings.Distinct().ToList();
Outras dicas
Em NET 3.5: -
var strings = new List<string> { "one", "two", "two", "three" };
var distinctStrings = strings.Distinct(); // IEnumerable<string>
var listDistinctStrings = distinctStrings.ToList(); // List<string>
boom shaka-laka!
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow