Public Class _ClosureClass _Closure$__10 ' Methods <DebuggerNonUserCode> _ Public Sub New()Sub New() <DebuggerNonUserCode> _ Public Sub New()Sub New(ByVal other As _Closure$__10)
' Fields Public $VB$Local_Name As String Public $VB$Local_Age As Integer End Class
Dim Data As String() = {"a", "b", "d", "c"} Dim Query = From O In Data Order By O Descending '这就是核心 '输出信息 For Each QItem In Query Console.WriteLine(QItem) Next
Linq 中的跨数组查询
目前的 Visual Basic 9 Beta 1 中还不支持在查询语句中使用 Join, Union 等高级类 SQL 功能,因此只能用极端复杂的办法,就是直接调用 IEnumerable(Of T) 中的 Union,Order By 函数。但是,您还是可以通过一些变通手法,达到需要的功能。例如:
Linq 中的跨数组查询示例
Dim CLRLanguage() As String = {"Visual Basic", "C#", "J#", "C++/CLI"} Dim CLRCount() As KeyValuePair(Of String, Integer) = {New KeyValuePair(Of String, Integer)("Visual Basic", 1000000), _ New KeyValuePair(Of String, Integer)("C#", 1200000), _ New KeyValuePair(Of String, Integer)("J#", 300000), _ New KeyValuePair(Of String, Integer)("C++/CLI", 600000)}
Dim Query = (From O As String In CLRLanguage Order By (From Count In CLRCount Where Count.Key = O Select Count.Value))