将某些LINQ转换为VB时遇到了一些麻烦。我已经花了点时间来解决这个问题,但是到目前为止,这种想法我一直没有成功。

 var feeds =
  from feed in feedXML.Descendants("item")
  select new
  {
    Date = DateTime.Parse(feed.Element("pubDate").Value)
                   .ToShortDateString(),
    Title = feed.Element("title").Value,
    Link = feed.Element("link").Value,
    Description = feed.Element("description").Value,
  };


在线代码翻译人员无济于事,而我对VB LINQ并不熟悉,不是很好。任何帮助将不胜感激。谢谢!

最佳答案

你需要:


投影为匿名类型时,请使用With关键字。
前缀属性名称带有点。
根据您的VB.NET版本使用连续行(VB10中不需要)。每行末尾的下划线表示行继续。


这样产生:

Dim feeds = From feed in feedXML.Descendants("item")
            Select New With
            {
                .Date = DateTime.Parse(feed.Element("pubDate").Value).ToShortDateString(),
                .Title = feed.Element("title").Value,
                .Link = feed.Element("link").Value,
                .Description = feed.Element("description").Value
            }

关于c# - 帮助将LINQ表达式从C#转换为VB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4217220/

10-13 06:02