使用Linq:
int[] numbers =
Enumerable.Range(9,10000)
.Where(x => x % 3 == 0)
.Take(20)
.ToArray();
Run Code Online (Sandbox Code Playgroud)
如果需要,还可以使用PLinq轻松实现并行化:
int[] numbers =
Enumerable.Range(9,10000)
.AsParallel() //added this line
.Where(x => x % 3 == 0)
.Take(20)
.ToArray();
Run Code Online (Sandbox Code Playgroud)
只是为了与众不同(并避免使用where语句),你也可以这样做:
var numbers = Enumerable.Range(0, n).Select(i => i * 3 + 9);
Run Code Online (Sandbox Code Playgroud)
更新这也有不会耗尽数字的好处.