c# - 帮助将 LINQ 表达式从 C# 转换为 VB

标签 c# vb.net linq

我在将某些 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 的不熟悉不是很好。任何帮助将不胜感激。谢谢!

最佳答案

你需要:

  1. 在投影到匿名类型时使用 With 关键字。
  2. 在属性名称前加上一个点。
  3. 根据您的 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/

相关文章:

c# - 关于在 C# 中运行时关闭窗体

c# - 如果一个方法返回一个接口(interface),这意味着什么?

asp.net - 你能告诉我为什么我收到 `The GridView ' GridView 1' fired event RowUpdating which wasn' t Handling.` 错误消息

VB.NET:运算符 '=' 未定义...用于相同类型的变量和对象?

c# - 为什么获取成员表达式成员名称在 C# 和 VB.NET 之间有所不同?

c# - Linq 无法转换问题

C# 程序集绑定(bind)重定向 - Newtonsoft.Json

c# - 绑定(bind)到来自两个不同 ViewModel 的两个属性的差异

c# - 与 Linq To Sql 和 ASP.NET 的并发

javascript - 这叫什么日期时间格式? "/Date(1565929330662)/"