在vb中愤怒的可数顺序

时间:2014-09-15 09:55:23

标签: asp.net vb.net

我有下面的Vb代码,我想知道为什么它失败了。我这样做是C#,它工作正常。

Dim numbers = Enumerable.Range(1, 4).OrderBy(i >= ran.Next()).ToList()

1 个答案:

答案 0 :(得分:4)

因为在VB.NET中这不是有效的语法,所以需要the ugly Function keyword

Dim numbers = Enumerable.Range(1, 4).OrderBy(Function(i) i >= ran.Next()).ToList()

在VB.NET中我几乎总是试图避免使用该关键字,这会伤害我的眼睛。所以你可以用这个:

Dim numbers = From n In Enumerable.Range(1, 4)
              Order By n >= ran.Next()
Dim numList As List(Of Int32) = numbers.ToList()

但如果你想随机订购,这应该有效:

Dim numbers = From n In Enumerable.Range(1, 4)
              Order By ran.Next()
Dim numList As List(Of Int32) = numbers.ToList()