linq in XML (conversione da C # a VB.net)
-
03-07-2019 - |
Domanda
Qual è l'equivalente di seguito in VB.net
var list = (from x in xd.Descendants("product").Attributes("title") select
new { Title= x.Value}).ToList();
VB.net Elenco dim = (da x in xd.Descendants (& Quot; prodotto & Quot;). Attributi (& Quot; titolo & Quot;) _ Seleziona Nuovo (???)). ToList ()
Grazie
Soluzione
New With { .Title = x.Value }
Altri suggerimenti
Vuoi davvero un elenco (di)? Se il tuo tipo anonimo ha una sola proprietà, non sarebbe più facile lavorare con un risultato che era un elenco (di stringa)?
Ecco la sintassi completa di vb.net per la tua query insieme ad alcuni XML con cui testarlo. In genere separo la chiamata .ToList, ma è principalmente per chiarezza. Si noti inoltre che con il codice seguente, la query non viene eseguita fino alla chiamata .ToList, quindi potrebbe essere utile separarli anche per tale motivo.
Dopo aver eseguito questo codice, ListA è di tipo List(Of <anonymous type>)
e ListB di tipo List(Of String)
Dim testXml = <test>
<product title="Prod1"/>
<product title="Prod2"/>
<product title="Prod3"/>
</test>
Dim queryA = From t In testXml...<product> _
Select New With {.Title = t.@title}
Dim listA = queryA.ToList
Dim queryB = From t In testXml...<product> _
Select t.@title
Dim ListB = queryB.ToList