سؤال

ما هو بناء جملة 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 }

وأنت لا تحتاج إلى استخدام بناء جملة ينق، يمكنك فقط استخدام الملحقات الأساسية:

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 للمستند الخاص بك (ويمكنك إنشاء واحد من خلال الاستوديو المرئي عن طريق استنتاجه من واحد أو أكثر من مستندات xml)، فيمكنك استيراده تقريبًا كما تفعل مع مساحة الاسم وسيمنحك Visual Studio إكمال التحسس عند كتابة الاستعلام الخاص بك.

بعض المراجع:

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top