Console.WriteLine (" " + site);
Console.WriteLine;
}
}
}
Эта программа дает следующий результат:
Домены самого верхнего уровня с более чем двумя членами.
Содержимое домена: .net hsNameB.net hsNameC.net hsNameH.net
Как следует из результата выполнения приведенной выше программы, по запросу возвращается только группа .net, поскольку это единственная группа, содержащая больше двух элементов.
Обратите особое внимание в данном примере программы на следующую последовательность операторов в формируемом запросе.
group addr by addr.Substring(addr.LastlndexOf('.'))
into ws where ws.Count > 2 select ws;
Сначала результаты выполнения оператораgroupсохраняются как временные для последующей обработки операторомwhere.В качестве переменной диапазона в данный момент служит переменнаяws.Она охватывает все группы, возвращаемые операторомgroup.Затем результаты запроса отбираются в оператореwhereс таким расчетом, чтобы в конечном итоге остались только те группы, которые содержат больше двух членов. Для этой цели вызывается методCount , который является
Применение оператора let для создания временной переменной в запросе
Иногда возникает потребность временно сохранить некоторое значение в самом запросе. Допустим, что требуется создать переменную перечислимого типа, которую можно будет затем запросить, или же сохранить некоторое значение, чтобы в дальнейшем использовать его в оператореwhere.Независимо от преследуемой цели, эти виды функций могут быть осуществлены с помощью оператораlet.Ниже приведена общая форма оператораlet:
let
где