这是一个理论上的问题,我正在查看其他人的代码(如下),我的简单解决方案是在 linq 之外实例化集合,但我可以猜想在某些情况下我想实例化查询中的对象,并且也许仅在选择的元素上。这是一个简单的例子,说明这是如何完成的(很糟糕)。
var pods = (from n in ids
where new Node(Convert.ToInt32(n)).HasValue("propertyName")
select new
{
Id = Convert.ToInt32(n),
Url = new Node(Convert.ToInt32(n)).Url,
Name = new Node(Convert.ToInt32(n)).Title()
}).ToList();
无关注意:在这种情况下,节点构造函数从内存缓存中获取数据。
如何改进此示例以仅使用 linq 实例化每个对象一次?
干杯。默里。