2009-02-18 79 views
3

有没有一种简单的方法来获取C#中的字符串列表中的唯一值?我的google-fu今天没有成功。我想知道我可以把它们放在另一个结构中,然后再把它们拉出来,我正在寻找一个愚蠢简单的方法,就像Ruby的.uniq方法一样,C#有其他的一切,所以我可能只是使用错误的同义词)uniq在C#

具体来说,这是来自Linq,所以如果Linq有内置的方式来选择唯一的字符串,那就更酷了。

回答

9
List<string> strings = new string[] { "Hello", "Hello", "World" }.ToList(); 

strings = strings.Distinct().ToList(); 
+0

但是老兄...没有繁荣shaka-laka?! – ljs 2009-02-18 23:07:06

+0

你看我喜欢BOOOM!但是我不确定我是否应该.. = P – 2009-02-18 23:07:33

6

在.net 3.5: -

var strings = new List<string> { "one", "two", "two", "three" }; 
var distinctStrings = strings.Distinct(); // IEnumerable<string> 
var listDistinctStrings = distinctStrings.ToList(); // List<string> 

繁荣沙卡,拉卡!