Ваш вопрос довольно неясен. Однако, похоже, у вас есть серия объектов списка, которые возвращаются из запроса LINQ, и вы хотите получить некоторые агрегаты из значений во всех этих подсписках. Я никогда не видел, как сделать это в LINQ, и, честно говоря, я не думаю, что производительность, вероятно, будет такой большой, даже если бы был способ сделать это. Агрегаты, которые вы ищете, довольно просто рассчитать вручную с помощью цикла. Примерно так:
double min = 200000000;
double max = -200000000;
double first = 0;
double last = 0;
bool hasFoundFirst = false;
foreach ( List<double> childList in queryResults )
{
foreach ( double val in childList )
{
if ( !hasFoundFirst )
{
hasFoundFirst = true;
first = val;
}
if ( val < min )
min = val;
if ( val > max )
max = val;
last = val;
}
}
Нечто подобное даст вам результаты, которые вы ищете, очень эффективным способом. Такие вещи, если вы можете эффективно их кодировать, работают быстрее, чем LINQ. LINQ великолепен, и я использую его для многих вещей, но это всего лишь один из многих инструментов.