我经常发现自己想在 IEnumerables 上使用 Head 和 Tail 方法,这在 Linq 中并不存在。虽然我可以很容易地写自己的,但我想知道它们是否被故意排除在外。例如,
var finalCondition = new Sql("WHERE @0 = @1", conditions.Head().Key, conditions.Head().Value);
foreach (var condition in conditions.Tail())
{
finalCondition.Append("AND @0 = @1", condition.Key, condition.Value);
}
那么,Linq 的最佳实践是什么?我一直在寻找它的用途这一事实是否表明我没有做推荐的事情?如果不是,那么为什么这种常见的功能范式没有在 Linq 中实现?