C# 获取只发生一次的所有元素
使用LINQ,我可以得到只出现一次的所有int元素的列表吗 比如说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
{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());
}