我在将某些 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/