Вопрос

Для чего нужен синтаксис VB.net ниже?

   var list = xd.Descendants("product")
   .Select(element =>new 
   { 
      Title = element.Attribute("title").Value,                   
      Duration = element.Element("duration").Value 
   }).ToList(); 
Это было полезно?

Решение

Попробуй это:

Dim list = 
   From element In xd.Descendants("product")
   Select New With { _ 
       .Title = element.Attribute("title").Value, _
       .Duration = element.Element("duration").Value }

Вам не нужно использовать синтаксис Linq, вы можете просто использовать базовые расширения:

Dim list = xd.Descendants("product"). _
    Select(Function(element) _ 
        New With { _ 
           .Title = element.Attribute("title").Value, _
           .Duration = element.Element("duration").Value _
        }). _
    ToList()

Другие советы

Если вы используете VB, для этого есть синтаксический сахар:

Dim list = 
   From element In xd...<product>
   Select New With { _ 
       .Title = element.@title, _
       .Duration = element.<duration>.Value }

Приятно то, что если у вас есть xsd для вашего документа (и вы можете создать его с помощью Visual Studio, выведя его из одного или нескольких документов XML), вы можете импортировать его почти так же, как пространство имен, и Visual Studio предоставит вам завершение intellisense при написании запроса.

Некоторые ссылки:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top