我已经在SO上看到了这个问题,但它没有回答我的问题,因为我想删除一个也是重复的值的所有实例.
例如,如果我有一个包含这些值的列表:A,A,C,D,B,A,E,E
我想写一些逻辑,其中新列表具有以下值:C,D,B.
因为A和E被归类为重复,我想完全删除它们.
所以考虑到这一点,这是我的代码:
// List having duplicate string elements.
List<string> list = new List<string>();
list.Add("A");
list.Add("A");
list.Add("C");
list.Add("D");
list.Add("B");
list.Add("A");
list.Add("E");
list.Add("E");
// Get distinct elements.
var distinct = (from item in list orderby item select item).Distinct();
foreach (string value in distinct)
{
Console.WriteLine("Distinct : {0}", value);
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
A,B,C,D,E
小智 9
这应该这样做(C也应该在列表中,它只在代码示例中出现一次)
var distinct = list.GroupBy(x=>x).Where(y=>y.Count()==1).Select(z=>z.Key);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3982 次 |
| 最近记录: |