FANDOM


Cláusula From Editar

Module Module1

  Structure Interprete
    Public Id As Long
    Public Nombre As String
    Public Nacionalidad As String
    Public Sub New(ByVal Id, ByVal Nombre, ByVal Nacionalidad)
      Me.Id = Id
      Me.Nombre = Nombre
      Me.Nacionalidad = Nacionalidad
    End Sub
  End Structure

  Dim aInterpretes() As Interprete = _
  { _
    New Interprete(1, "Wim Mertens", "Belga"), _
    New Interprete(2, "Nightnoise", "Irlandeses"), _
    New Interprete(3, "Wolfstone", "Escoceses"), _
    New Interprete(4, "Manu Herrera", "Español"), _
    New Interprete(5, "Jesús Auñón", "Español") _
  }

  Sub Main()

    Dim linqConsulta = From MisInterpretes In aInterpretes
    For Each MiInterprete In linqConsulta
      Console.WriteLine(MiInterprete.Nombre)
    Next

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Consulta a una matriz

Option Explicit On

Module Module1

  Structure Interprete
    Public Id As Long
    Public Nombre As String
    Public Nacionalidad As String
    Public Sub New(ByVal Id, ByVal Nombre, ByVal Nacionalidad)
      Me.Id = Id
      Me.Nombre = Nombre
      Me.Nacionalidad = Nacionalidad
    End Sub
  End Structure

  Dim aInterpretes() As Interprete = _
  { _
    New Interprete(1, "Wim Mertens", "Belga"), _
    New Interprete(2, "Nightnoise", "Irlandeses"), _
    New Interprete(3, "Wolfstone", "Escoceses"), _
    New Interprete(4, "Manu Herrera", "Español"), _
    New Interprete(5, "Jesús Auñón", "Español") _
  }

  Structure Grabacion
    Public Id As Long
    Public Titulo As String
    Public IdInterprete As Long
    Public Sub New(ByVal Id, ByVal Titulo, ByVal IdInterprete)
      Me.Id = Id
      Me.Titulo = Titulo
      Me.IdInterprete = IdInterprete
    End Sub
  End Structure

  Dim aGrabaciones() As Grabacion = _
  { _
    New Grabacion(1, "Maximizing the Audience", 1), _
    New Grabacion(2, "A Man of No Fortune and with a Name to Come", 1), _
    New Grabacion(3, "The Belly of an Architect", 1), _
    New Grabacion(4, "After Virtue", 1), _
    New Grabacion(5, "Motives for Writing", 1), _
    New Grabacion(6, "Shot and Echo", 1), _
    New Grabacion(7, "Jardin Clos", 1), _
    New Grabacion(8, "Something of Time", 2), _
    New Grabacion(9, "Shadow of Time", 2), _
    New Grabacion(10, "Year of the Dog", 3), _
    New Grabacion(11, "The Half Tail", 3), _
    New Grabacion(12, "Colours", 4), _
    New Grabacion(14, "El tiempo todo locura", 5) _
  }

  Sub Main()

    Dim linqConsulta = From _
      MisInterpretes In aInterpretes, _
      MisGrabaciones In aGrabaciones

    For Each MiResultado As Object In linqConsulta
      Console.WriteLine( _
        MiResultado.MisGrabaciones.Titulo & ", " & _
        MiResultado.MisInterpretes.Nombre _
      )
    Next

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

El resultado no es demasiado útil.

Cláusula Where Editar

Pero el de este programa sí lo es:

Option Explicit On

Module Module1

  Structure Interprete
    Public Id As Long
    Public Nombre As String
    Public Nacionalidad As String
    Public Sub New(ByVal Id, ByVal Nombre, ByVal Nacionalidad)
      Me.Id = Id
      Me.Nombre = Nombre
      Me.Nacionalidad = Nacionalidad
    End Sub
  End Structure

  Dim aInterpretes() As Interprete = _
  { _
    New Interprete(1, "Wim Mertens", "Belga"), _
    New Interprete(2, "Nightnoise", "Irlandeses"), _
    New Interprete(3, "Wolfstone", "Escoceses"), _
    New Interprete(4, "Manu Herrera", "Español"), _
    New Interprete(5, "Jesús Auñón", "Español") _
  }

  Structure Grabacion
    Public Id As Long
    Public Titulo As String
    Public IdInterprete As Long
    Public Sub New(ByVal Id, ByVal Titulo, ByVal IdInterprete)
      Me.Id = Id
      Me.Titulo = Titulo
      Me.IdInterprete = IdInterprete
    End Sub
  End Structure

  Dim aGrabaciones() As Grabacion = _
  { _
    New Grabacion(1, "Maximizing the Audience", 1), _
    New Grabacion(2, "A Man of No Fortune and with a Name to Come", 1), _
    New Grabacion(3, "The Belly of an Architect", 1), _
    New Grabacion(4, "After Virtue", 1), _
    New Grabacion(5, "Motives for Writing", 1), _
    New Grabacion(6, "Shot and Echo", 1), _
    New Grabacion(7, "Jardin Clos", 1), _
    New Grabacion(8, "Something of Time", 2), _
    New Grabacion(9, "Shadow of Time", 2), _
    New Grabacion(10, "Year of the Dog", 3), _
    New Grabacion(11, "The Half Tail", 3), _
    New Grabacion(12, "Colours", 4), _
    New Grabacion(14, "El tiempo todo locura", 5) _
  }

  Sub Main()

    Dim linqConsulta = _
      From _
        MisInterpretes In aInterpretes, _
        MisGrabaciones In aGrabaciones _
      Where _
        MisInterpretes.Id = MisGrabaciones.IdInterprete

    For Each MiResultado As Object In linqConsulta
      Console.WriteLine( _
        MiResultado.MisGrabaciones.Titulo & ", " & _
        MiResultado.MisInterpretes.Nombre _
      )
    Next

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Con una consulta un poco más compleja:

Option Explicit On

Module Module1

  Structure Interprete
    Public Id As Long
    Public Nombre As String
    Public Nacionalidad As String
    Public Sub New(ByVal Id, ByVal Nombre, ByVal Nacionalidad)
      Me.Id = Id
      Me.Nombre = Nombre
      Me.Nacionalidad = Nacionalidad
    End Sub
  End Structure

  Dim aInterpretes() As Interprete = _
  { _
    New Interprete(1, "Wim Mertens", "Belga"), _
    New Interprete(2, "Nightnoise", "Irlandeses"), _
    New Interprete(3, "Wolfstone", "Escoceses"), _
    New Interprete(4, "Manu Herrera", "Español"), _
    New Interprete(5, "Jesús Auñón", "Español") _
  }

  Structure Grabacion
    Public Id As Long
    Public Titulo As String
    Public IdInterprete As Long
    Public Sub New(ByVal Id, ByVal Titulo, ByVal IdInterprete)
      Me.Id = Id
      Me.Titulo = Titulo
      Me.IdInterprete = IdInterprete
    End Sub
  End Structure

  Dim aGrabaciones() As Grabacion = _
  { _
    New Grabacion(1, "Maximizing the Audience", 1), _
    New Grabacion(2, "A Man of No Fortune and with a Name to Come", 1), _
    New Grabacion(3, "The Belly of an Architect", 1), _
    New Grabacion(4, "After Virtue", 1), _
    New Grabacion(5, "Motives for Writing", 1), _
    New Grabacion(6, "Shot and Echo", 1), _
    New Grabacion(7, "Jardin Clos", 1), _
    New Grabacion(8, "Something of Time", 2), _
    New Grabacion(9, "Shadow of Time", 2), _
    New Grabacion(10, "Year of the Dog", 3), _
    New Grabacion(11, "The Half Tail", 3), _
    New Grabacion(12, "Colours", 4), _
    New Grabacion(14, "El tiempo todo locura", 5) _
  }

  Sub Main()

    Dim linqConsulta = _
      From _
        MisInterpretes In aInterpretes, _
        MisGrabaciones In aGrabaciones _
      Where _
        MisInterpretes.Id = MisGrabaciones.IdInterprete And _
        MisInterpretes.Nacionalidad = "Español"

    For Each MiResultado As Object In linqConsulta
      Console.WriteLine( _
        MiResultado.MisGrabaciones.Titulo & ", " & _
        MiResultado.MisInterpretes.Nombre _
      )
    Next

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Cláusula Order By Editar

Option Explicit On

Module Module1

  Structure Interprete
    Public Id As Long
    Public Nombre As String
    Public Nacionalidad As String
    Public Sub New(ByVal Id, ByVal Nombre, ByVal Nacionalidad)
      Me.Id = Id
      Me.Nombre = Nombre
      Me.Nacionalidad = Nacionalidad
    End Sub
  End Structure

  Dim aInterpretes() As Interprete = _
  { _
    New Interprete(1, "Wim Mertens", "Belga"), _
    New Interprete(2, "Nightnoise", "Irlandeses"), _
    New Interprete(3, "Wolfstone", "Escoceses"), _
    New Interprete(4, "Manu Herrera", "Español"), _
    New Interprete(5, "Jesús Auñón", "Español") _
  }

  Structure Grabacion
    Public Id As Long
    Public Titulo As String
    Public IdInterprete As Long
    Public Sub New(ByVal Id, ByVal Titulo, ByVal IdInterprete)
      Me.Id = Id
      Me.Titulo = Titulo
      Me.IdInterprete = IdInterprete
    End Sub
  End Structure

  Dim aGrabaciones() As Grabacion = _
  { _
    New Grabacion(1, "Maximizing the Audience", 1), _
    New Grabacion(2, "A Man of No Fortune and with a Name to Come", 1), _
    New Grabacion(3, "The Belly of an Architect", 1), _
    New Grabacion(4, "After Virtue", 1), _
    New Grabacion(5, "Motives for Writing", 1), _
    New Grabacion(6, "Shot and Echo", 1), _
    New Grabacion(7, "Jardin Clos", 1), _
    New Grabacion(8, "Something of Time", 2), _
    New Grabacion(9, "Shadow of Time", 2), _
    New Grabacion(10, "Year of the Dog", 3), _
    New Grabacion(11, "The Half Tail", 3), _
    New Grabacion(12, "Colours", 4), _
    New Grabacion(14, "El tiempo todo locura", 5) _
  }

  Sub Main()

    Dim linqConsulta = _
      From _
        MisInterpretes In aInterpretes, _
        MisGrabaciones In aGrabaciones _
      Where _
        MisInterpretes.Id = MisGrabaciones.IdInterprete _
      Order By _
        MisGrabaciones.Titulo

    For Each MiResultado As Object In linqConsulta
      Console.WriteLine( _
        MiResultado.MisGrabaciones.Titulo & ", " & _
        MiResultado.MisInterpretes.Nombre _
      )
    Next

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Cláusula Select Editar

Option Explicit On

Module Module1

  Structure Interprete
    Public Id As Long
    Public Nombre As String
    Public Nacionalidad As String
    Public Sub New(ByVal Id, ByVal Nombre, ByVal Nacionalidad)
      Me.Id = Id
      Me.Nombre = Nombre
      Me.Nacionalidad = Nacionalidad
    End Sub
  End Structure

  Dim aInterpretes() As Interprete = _
  { _
    New Interprete(1, "Wim Mertens", "Belga"), _
    New Interprete(2, "Nightnoise", "Irlandeses"), _
    New Interprete(3, "Wolfstone", "Escoceses"), _
    New Interprete(4, "Manu Herrera", "Español"), _
    New Interprete(5, "Jesús Auñón", "Español") _
  }

  Structure Grabacion
    Public Id As Long
    Public Titulo As String
    Public IdInterprete As Long
    Public Sub New(ByVal Id, ByVal Titulo, ByVal IdInterprete)
      Me.Id = Id
      Me.Titulo = Titulo
      Me.IdInterprete = IdInterprete
    End Sub
  End Structure

  Dim aGrabaciones() As Grabacion = _
  { _
    New Grabacion(1, "Maximizing the Audience", 1), _
    New Grabacion(2, "A Man of No Fortune and with a Name to Come", 1), _
    New Grabacion(3, "The Belly of an Architect", 1), _
    New Grabacion(4, "After Virtue", 1), _
    New Grabacion(5, "Motives for Writing", 1), _
    New Grabacion(6, "Shot and Echo", 1), _
    New Grabacion(7, "Jardin Clos", 1), _
    New Grabacion(8, "Something of Time", 2), _
    New Grabacion(9, "Shadow of Time", 2), _
    New Grabacion(10, "Year of the Dog", 3), _
    New Grabacion(11, "The Half Tail", 3), _
    New Grabacion(12, "Colours", 4), _
    New Grabacion(14, "El tiempo todo locura", 5) _
  }

  Sub Main()

    Dim linqConsulta = _
      From _
        MisInterpretes In aInterpretes, _
        MisGrabaciones In aGrabaciones _
      Where _
        MisInterpretes.Id = MisGrabaciones.IdInterprete _
      Order By _
        MisGrabaciones.Titulo _
      Select _
        TituloGrabacion = MisGrabaciones.Titulo, _
        NombreInterprete = MisInterpretes.Nombre

    For Each MiResultado In linqConsulta
      Console.WriteLine( _
        MiResultado.TituloGrabacion & ", " & _
        MiResultado.NombreInterprete _
      )
    Next

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

LINQ y XML Editar

Option Explicit On

Imports System.Xml.Linq

Module Module1

  Dim xmlInterpretes As XElement = _
    <Interpretes>
      <Interprete Id="1" Nombre="Wim Mertens" Nacionalidad="Belga"/>
      <Interprete Id="2" Nombre="Nightnoise" Nacionalidad="Irlandeses"/>
      <Interprete Id="3" Nombre="Wolfstone" Nacionalidad="Escoceses"/>
      <Interprete Id="4" Nombre="Manu Herrera" Nacionalidad="Español"/>
      <Interprete Id="5" Nombre="Jesús Auñón" Nacionalidad="Español"/>
    </Interpretes>

  Dim xmlGrabaciones As XElement = _
    <Grabaciones>
      <Grabacion Id="1"
        Titulo="Maximizing the Audience" IdInterprete="1"/>
      <Grabacion Id="2"
        Titulo="A Man of No Fortune and with a Name to Come"
        IdInterprete="1"/>
      <Grabacion Id="3" Titulo="The Belly of an Architect"
        IdInterprete="1"/>
      <Grabacion Id="4" Titulo="After Virtue" IdInterprete="1"/>
      <Grabacion Id="5" Titulo="Motives for Writing" IdInterprete="1"/>
      <Grabacion Id="6" Titulo="Shot and Echo" IdInterprete="1"/>
      <Grabacion Id="7" Titulo="Jardin Clos" IdInterprete="1"/>
      <Grabacion Id="8" Titulo="Something of Time" IdInterprete="2"/>
      <Grabacion Id="9" Titulo="Shadow of Time" IdInterprete="2"/>
      <Grabacion Id="10" Titulo="Year of the Dog" IdInterprete="3"/>
      <Grabacion Id="11" Titulo="The Half Tail" IdInterprete="3"/>
      <Grabacion Id="12" Titulo="Colours" IdInterprete="4"/>
      <Grabacion Id="14"
        Titulo="El tiempo todo locura" IdInterprete="5"/>
    </Grabaciones>

  Sub Main()

    Dim linqConsulta = From MisInterpretes In xmlInterpretes.Elements

    For Each MiInterprete In linqConsulta
      Console.WriteLine(MiInterprete.Attribute("Nombre").Value)
    Next

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Combinación de grabaciones e intérpretes Editar

Option Explicit On

Imports System.Xml.Linq

Module Module1

  Dim xmlInterpretes As XElement = _
    <Interpretes>
      <Interprete Id="1" Nombre="Wim Mertens" Nacionalidad="Belga"/>
      <Interprete Id="2" Nombre="Nightnoise" Nacionalidad="Irlandeses"/>
      <Interprete Id="3" Nombre="Wolfstone" Nacionalidad="Escoceses"/>
      <Interprete Id="4" Nombre="Manu Herrera" Nacionalidad="Español"/>
      <Interprete Id="5" Nombre="Jesús Auñón" Nacionalidad="Español"/>
    </Interpretes>

  Dim xmlGrabaciones As XElement = _
    <Grabaciones>
      <Grabacion Id="1"
        Titulo="Maximizing the Audience" IdInterprete="1"/>
      <Grabacion Id="2"
        Titulo="A Man of No Fortune and with a Name to Come"
        IdInterprete="1"/>
      <Grabacion Id="3" Titulo="The Belly of an Architect"
        IdInterprete="1"/>
      <Grabacion Id="4" Titulo="After Virtue" IdInterprete="1"/>
      <Grabacion Id="5" Titulo="Motives for Writing" IdInterprete="1"/>
      <Grabacion Id="6" Titulo="Shot and Echo" IdInterprete="1"/>
      <Grabacion Id="7" Titulo="Jardin Clos" IdInterprete="1"/>
      <Grabacion Id="8" Titulo="Something of Time" IdInterprete="2"/>
      <Grabacion Id="9" Titulo="Shadow of Time" IdInterprete="2"/>
      <Grabacion Id="10" Titulo="Year of the Dog" IdInterprete="3"/>
      <Grabacion Id="11" Titulo="The Half Tail" IdInterprete="3"/>
      <Grabacion Id="12" Titulo="Colours" IdInterprete="4"/>
      <Grabacion Id="14"
        Titulo="El tiempo todo locura" IdInterprete="5"/>
    </Grabaciones>

  Sub Main()

    Dim linqConsulta = From _
      MisInterpretes In xmlInterpretes.Elements, _
      MisGrabaciones In xmlGrabaciones.Elements

    For Each MiResultado In linqConsulta
      Console.WriteLine( _
        MiResultado.MisGrabaciones.Attribute("Titulo").Value & ", " & _
        MiResultado.MisInterpretes.Attribute("Nombre").Value _
      )
    Next

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Intérpretes y sus grabaciones Editar

Option Explicit On

Imports System.Xml.Linq

Module Module1

  Dim xmlInterpretes As XElement = _
    <Interpretes>
      <Interprete Id="1" Nombre="Wim Mertens" Nacionalidad="Belga"/>
      <Interprete Id="2" Nombre="Nightnoise" Nacionalidad="Irlandeses"/>
      <Interprete Id="3" Nombre="Wolfstone" Nacionalidad="Escoceses"/>
      <Interprete Id="4" Nombre="Manu Herrera" Nacionalidad="Español"/>
      <Interprete Id="5" Nombre="Jesús Auñón" Nacionalidad="Español"/>
    </Interpretes>

  Dim xmlGrabaciones As XElement = _
    <Grabaciones>
      <Grabacion Id="1"
        Titulo="Maximizing the Audience" IdInterprete="1"/>
      <Grabacion Id="2"
        Titulo="A Man of No Fortune and with a Name to Come"
        IdInterprete="1"/>
      <Grabacion Id="3" Titulo="The Belly of an Architect"
        IdInterprete="1"/>
      <Grabacion Id="4" Titulo="After Virtue" IdInterprete="1"/>
      <Grabacion Id="5" Titulo="Motives for Writing" IdInterprete="1"/>
      <Grabacion Id="6" Titulo="Shot and Echo" IdInterprete="1"/>
      <Grabacion Id="7" Titulo="Jardin Clos" IdInterprete="1"/>
      <Grabacion Id="8" Titulo="Something of Time" IdInterprete="2"/>
      <Grabacion Id="9" Titulo="Shadow of Time" IdInterprete="2"/>
      <Grabacion Id="10" Titulo="Year of the Dog" IdInterprete="3"/>
      <Grabacion Id="11" Titulo="The Half Tail" IdInterprete="3"/>
      <Grabacion Id="12" Titulo="Colours" IdInterprete="4"/>
      <Grabacion Id="14"
        Titulo="El tiempo todo locura" IdInterprete="5"/>
    </Grabaciones>

  Sub Main()

    Dim linqConsulta = From _
      MisInterpretes In xmlInterpretes.Elements, _
      MisGrabaciones In xmlGrabaciones.Elements _
    Where ( _
      MisInterpretes.Attribute("Id").Value = _
      MisGrabaciones.Attribute("IdInterprete").Value _
    )

    For Each MiResultado In linqConsulta
      Console.WriteLine( _
        MiResultado.MisGrabaciones.Attribute("Titulo").Value & ", " & _
        MiResultado.MisInterpretes.Attribute("Nombre").Value _
      )
    Next

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Intérpretes españoles Editar

Option Explicit On

Imports System.Xml.Linq

Module Module1

  Dim xmlInterpretes As XElement = _
    <Interpretes>
      <Interprete Id="1" Nombre="Wim Mertens" Nacionalidad="Belga"/>
      <Interprete Id="2" Nombre="Nightnoise" Nacionalidad="Irlandeses"/>
      <Interprete Id="3" Nombre="Wolfstone" Nacionalidad="Escoceses"/>
      <Interprete Id="4" Nombre="Manu Herrera" Nacionalidad="Español"/>
      <Interprete Id="5" Nombre="Jesús Auñón" Nacionalidad="Español"/>
    </Interpretes>

  Dim xmlGrabaciones As XElement = _
    <Grabaciones>
      <Grabacion Id="1"
        Titulo="Maximizing the Audience" IdInterprete="1"/>
      <Grabacion Id="2"
        Titulo="A Man of No Fortune and with a Name to Come"
        IdInterprete="1"/>
      <Grabacion Id="3" Titulo="The Belly of an Architect"
        IdInterprete="1"/>
      <Grabacion Id="4" Titulo="After Virtue" IdInterprete="1"/>
      <Grabacion Id="5" Titulo="Motives for Writing" IdInterprete="1"/>
      <Grabacion Id="6" Titulo="Shot and Echo" IdInterprete="1"/>
      <Grabacion Id="7" Titulo="Jardin Clos" IdInterprete="1"/>
      <Grabacion Id="8" Titulo="Something of Time" IdInterprete="2"/>
      <Grabacion Id="9" Titulo="Shadow of Time" IdInterprete="2"/>
      <Grabacion Id="10" Titulo="Year of the Dog" IdInterprete="3"/>
      <Grabacion Id="11" Titulo="The Half Tail" IdInterprete="3"/>
      <Grabacion Id="12" Titulo="Colours" IdInterprete="4"/>
      <Grabacion Id="14"
        Titulo="El tiempo todo locura" IdInterprete="5"/>
    </Grabaciones>

  Sub Main()

    Dim linqConsulta = From _
      MisInterpretes In xmlInterpretes.Elements, _
      MisGrabaciones In xmlGrabaciones.Elements _
    Where _
      MisInterpretes.Attribute("Id").Value = _
      MisGrabaciones.Attribute("IdInterprete").Value And _
      MisInterpretes.Attribute("Nacionalidad").Value = "Español"

    For Each MiResultado In linqConsulta
      Console.WriteLine( _
        MiResultado.MisGrabaciones.Attribute("Titulo").Value & ", " & _
        MiResultado.MisInterpretes.Attribute("Nombre").Value _
      )
    Next

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

Grabaciones ordenadas Editar

Option Explicit On

Imports System.Xml.Linq

Module Module1

  Dim xmlInterpretes As XElement = _
    <Interpretes>
      <Interprete Id="1" Nombre="Wim Mertens" Nacionalidad="Belga"/>
      <Interprete Id="2" Nombre="Nightnoise" Nacionalidad="Irlandeses"/>
      <Interprete Id="3" Nombre="Wolfstone" Nacionalidad="Escoceses"/>
      <Interprete Id="4" Nombre="Manu Herrera" Nacionalidad="Español"/>
      <Interprete Id="5" Nombre="Jesús Auñón" Nacionalidad="Español"/>
    </Interpretes>

  Dim xmlGrabaciones As XElement = _
    <Grabaciones>
      <Grabacion Id="1"
        Titulo="Maximizing the Audience" IdInterprete="1"/>
      <Grabacion Id="2"
        Titulo="A Man of No Fortune and with a Name to Come"
        IdInterprete="1"/>
      <Grabacion Id="3" Titulo="The Belly of an Architect"
        IdInterprete="1"/>
      <Grabacion Id="4" Titulo="After Virtue" IdInterprete="1"/>
      <Grabacion Id="5" Titulo="Motives for Writing" IdInterprete="1"/>
      <Grabacion Id="6" Titulo="Shot and Echo" IdInterprete="1"/>
      <Grabacion Id="7" Titulo="Jardin Clos" IdInterprete="1"/>
      <Grabacion Id="8" Titulo="Something of Time" IdInterprete="2"/>
      <Grabacion Id="9" Titulo="Shadow of Time" IdInterprete="2"/>
      <Grabacion Id="10" Titulo="Year of the Dog" IdInterprete="3"/>
      <Grabacion Id="11" Titulo="The Half Tail" IdInterprete="3"/>
      <Grabacion Id="12" Titulo="Colours" IdInterprete="4"/>
      <Grabacion Id="14"
        Titulo="El tiempo todo locura" IdInterprete="5"/>
    </Grabaciones>

  Sub Main()

    Dim linqConsulta = From _
      MisInterpretes In xmlInterpretes.Elements, _
      MisGrabaciones In xmlGrabaciones.Elements _
    Where _
      MisInterpretes.Attribute("Id").Value = _
      MisGrabaciones.Attribute("IdInterprete").Value _
    Order By _
      MisGrabaciones.Attribute("Titulo").Value

    For Each MiResultado In linqConsulta
      Console.WriteLine( _
        MiResultado.MisGrabaciones.Attribute("Titulo").Value & ", " & _
        MiResultado.MisInterpretes.Attribute("Nombre").Value _
      )
    Next

    Console.WriteLine()
    Console.WriteLine("Pulse Intro para continuar.")
    Console.ReadLine()

  End Sub

End Module

¡Interferencia de bloqueo de anuncios detectada!


Wikia es un sitio libre de uso que hace dinero de la publicidad. Contamos con una experiencia modificada para los visitantes que utilizan el bloqueo de anuncios

Wikia no es accesible si se han hecho aún más modificaciones. Si se quita el bloqueador de anuncios personalizado, la página cargará como se esperaba.