2013-04-25 56 views
4

我有一个相当大的包含重复的字符串列表,如果我只关心如果A,B,C在结果中,但不是它们的顺序。我寻找了许多其他的重复数据删除解决方案,但它们通常只能用于确切的值(我知道这是因为这些元素不是确切的重要值,但更多的虚假或多余的结果。)我已经有了这个列表并没有创建它,所以改变选择不是一种选择。从排列列表中删除重复“ABD”“BAD”“DAB”

+1

结果可变长度? – nicholas 2013-04-25 13:49:04

+0

可能的重复:http://stackoverflow.com/questions/47752/remove-duplicates-from-a-listt-in-c-sharp?rq=1 – 2013-04-25 13:49:16

+1

Offtop:如此坦率和自我批评的用户名 – sll 2013-04-25 13:50:18

回答

10

只需首先在每个项目内对元素进行排序。

listOfStrings.Select(s => new string(s.OrderBy(c => c))).Distinct().ToList(); 

你明白我的意思 - 对字符进行排序。我会马上检查这个语法..

+0

啊,打我到它。看看我用同样的问题得到了什么? – nicholas 2013-04-25 13:54:18

+0

@nicholas是的,我也是。你给了我这个主意! – 2013-04-25 13:57:06

+0

明白了。谢谢! – StuckOnSimpleThings 2013-04-25 14:01:03