有人可以用这种模式帮助我

时间:2013-07-12 14:48:43

标签: vb.net

我无法在vb.net中找出这个简单的(?)模式。

所以问题是这样的:我有4个整数数组,其中2个是0到29,最后2个是0到9.现在我试图使模式看起来像这样:

enter image description here

我希望这是有道理的。

1 个答案:

答案 0 :(得分:1)

这个简单的LINQ查询应该会给你预期的结果。

Dim big1 = Enumerable.Range(0, 30).ToArray()
Dim big2 = Enumerable.Range(0, 30).ToArray()
Dim small1 = Enumerable.Range(0, 10).ToArray()
Dim small2 = Enumerable.Range(0, 10).ToArray()

Dim result = From b1 in big1
             From b2 in big2
             From s1 in small1
             From s2 in small2
             Select New With {b1, b2, s1, s2}

enter image description here

...

enter image description here

它使用Enumerable.SelectMany函数:

  

Enumerable.SelectMany

     

将序列的每个元素投影到IEnumerable,并将生成的序列展平为一个序列。