Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取只发生一次的所有元素_C#_Linq_List_Element_Distinct - Fatal编程技术网

C# 获取只发生一次的所有元素

C# 获取只发生一次的所有元素,c#,linq,list,element,distinct,C#,Linq,List,Element,Distinct,使用LINQ,我可以得到只出现一次的所有int元素的列表吗 比如说 {1,2,4,8,6,3,4,8,8,2} 将成为 {1,6,3} 谢谢 list.GroupBy(i => i) .Where(g => g.Count() == 1) .Select(g => g.First()); 像那样 50秒太晚了…:/ 像那样 50秒太晚了…:/ 您可以使用的各种扩展方法: public static IEnumerable<T> WhereUni

使用LINQ,我可以得到只出现一次的所有int元素的列表吗

比如说

{1,2,4,8,6,3,4,8,8,2}
将成为

{1,6,3}
谢谢

list.GroupBy(i => i)
    .Where(g => g.Count() == 1)
    .Select(g => g.First());
像那样

50秒太晚了…:/

像那样


50秒太晚了…:/

您可以使用的各种扩展方法:

public static IEnumerable<T> WhereUnique<T>(this IEnumerable<T> items)
{
    return items.GroupBy(x => x).Where(x => x.Count() ==1).Select(x => x.First());
}

可以使用的各种扩展方法:

public static IEnumerable<T> WhereUnique<T>(this IEnumerable<T> items)
{
    return items.GroupBy(x => x).Where(x => x.Count() ==1).Select(x => x.First());
}

@拉兹别列佐夫斯基+1表示诚实:p@lazyberezovsky+1表示诚实:p
public static IEnumerable<T> WhereUnique<T>(this IEnumerable<T> items)
{
    return items.GroupBy(x => x).Where(x => !x.Skip(1).Any()).Select(x => x.First());
}
public static IEnumerable<T> WhereUniqueBy<T, TSelector>(this IEnumerable<T> items, Func<T, TSelector> func)
{
    return items.GroupBy(func).Where(x => x.Count() ==1).Select(x => x.First());
}