我有一个问题,如何在一行代码中连接或联合3个数组?我有Visual Studio 2015,它看起来像
int[] array1 = {1 ,2 ,3 ,-5 ,2 ,0 };
int[] array2 = {1 ,2 ,3 ,-1 ,5 ,0 };
int[] array3 = {1 ,2 ,3 ,-6 ,2 ,9 };
我想在按钮点击有喜欢:
Console.WriteLine(array1.Union(array2.Union(array3)).Where((x) => x >=0).Count)
不知道如何在单行中联合3个数组
5条答案
按热度按时间irtuqstp1#
您的代码的问题在于,在
Where
子句之后,Count
是函数而不是属性。另外一种更简洁的方法是将
Union
链接起来。另外,你也可以将 predicate 放在Count
中:若要只打印所有数组的正值,请使用
string.Join
:rkkpypqq2#
对于一个工会来说,你只需要
和/或对结果IEnumerable计数。联合忽略重复项:如果你想保留3个数组中的所有值(以及连续的数组,而不是列表/集合类型),你可以:
3zwjbxry3#
以下代码将通过调用Concat来连接数组。
然后通过调用Distinct删除重复的数字。
最后,通过调用 predicate 大于或等于零的Where来过滤数字。
zpqajqem4#
可以在一行代码中完成。使用linq SelectMany扁平化数组或列表。
jmo0nnb35#
多个数组的一般串连。