【发布时间】:2009-05-22 20:17:45
【问题描述】:
我在胡闹试图了解 LINQ 的来龙去脉。我想将以下查询(工作正常)从查询语法转换为方法语法,但我似乎无法正确处理。谁能告诉我正确的方法来做到这一点?
var logQuery = from entry in xDoc.Descendants("logentry")
where (entry.Element("author").Value.ToLower().Contains(matchText) ||
entry.Element("msg").Value.ToLower().Contains(matchText) ||
entry.Element("paths").Value.ToLower().Contains(matchText) ||
entry.Element("revision").Value.ToLower().Contains(matchText))
select new
{
Revision = entry.Attribute("revision").Value,
Author = entry.Element("author").Value,
CR = LogFormatter.FormatCR(entry.Element("msg").Value),
Date = LogFormatter.FormatDate(entry.Element("date").Value),
Message = LogFormatter.FormatComment(entry.Element("msg").Value),
ET = LogFormatter.FormatET(entry.Element("msg").Value),
MergeFrom = LogFormatter.FormatMergeFrom(entry.Element("msg").Value),
MergeTo = LogFormatter.FormatMergeTo(entry.Element("msg").Value)
};
【问题讨论】:
-
有关信息,“C# 深度”后面的章节详细介绍了这个领域。
-
C# 3.0 规范在 Internet 上提供;它非常详细地描述了句法转换规则。
标签: c# .net linq linq-to-xml