【发布时间】:2012-11-04 20:50:07
【问题描述】:
在 C# 4.0 中,如果 element + k 的位置是 n 的倍数,是否有办法将 double[] 的每个元素提取到另一个数组中?即如果k 是3 并且n 是4,我想从数组a1 创建一个数组a2 与第3、第7、第11 ......位置(所以在C# 中因为数组从0 开始,将是a1[2]、a1[6]、a1[10] ...等)
我有兴趣在 C# 的性能方面以最快的方式实现这一目标,并且我知道如何使用 for 循环来做到这一点。
【问题讨论】:
-
这是我当然会使用
for循环的东西。我不确定这个练习的目的是什么,但我确信没有内置的东西可以做到这一点。 -
您为什么期望比使用循环更快?好像不是特别常见的操作……
-
可以使用Where LINQ方法。
-
@OndraMorský:这个 Where 请求的语法是什么?
-
这里有一些方法细节:msdn.microsoft.com/en-us/library/bb549418.aspx。您必须使用带 (index, item) 参数的 where 方法,并根据索引返回 true(包含在结果中)或 false。