linq в XML (преобразование C # в VB.net) - PullRequest
0 голосов
/ 29 апреля 2009

Что эквивалентно ниже в VB.net

      var list = (from x in xd.Descendants("product").Attributes("title") select 
      new { Title= x.Value}).ToList(); 

VB.net Dim list = (From x In xd.Descendants ("product"). Атрибуты ("title") _ Выберите Новый (???)). ToList ()

Спасибо

Ответы [ 2 ]

0 голосов
/ 15 мая 2009

Вы действительно хотите список (из)? Если ваш анонимный тип имеет только одно свойство, не будет ли проще работать с результатом, который был списком (из строки)?

Вот полный синтаксис vb.net для вашего запроса, а также некоторый XML для его проверки. Я обычно выделяю вызов .ToList, но это в основном для ясности. Также обратите внимание, что с помощью приведенного ниже кода запрос не выполняется до вызова .ToList, поэтому может быть полезно разделить их и по этой причине.

После запуска этого кода ListA имеет тип List(Of <anonymous type>), а ListB имеет тип 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
0 голосов
/ 29 апреля 2009
New With { .Title = x.Value }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...