Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю - Страница 68
- Предыдущая
- 68/642
- Следующая
Однако, как будет показано в начале главы 13, в наборе технологий LINQ применяются выражения запросов, которые могут выдавать динамически создаваемые результирующие наборы, основанные на формате самого запроса. В таких случаях неявная типизация исключительно удобна, потому что вам не придется явно определять тип, который запрос может возвращать, а в ряде ситуаций это вообще невозможно. Посмотрите, сможете ли вы определить лежащий в основе тип данных
subsetstatic void LinqQueryOverInts(){  int[] numbers = { 10, 20, 30, 40, 1, 2, 3, 8 };  <b>// Запрос LINQ!</b>  var subset = from i in numbers where i < 10 select i;  Console.Write("Values in subset: ");  foreach (var i in subset)  {    Console.Write("{0} ", i);  }  Console.WriteLine();  // К какому же типу относится subset?  Console.WriteLine("subset is a: {0}", subset.GetType().Name);  Console.WriteLine("subset is defined in: {0}",                     subset.GetType().Namespace);}Вы можете предположить, что типом данных
subsetildasm.exeФактически можно было бы даже утверждать, что единственным случаем, когда применение ключевого слова
varintintvarРабота с итерационными конструкциями C#
Все языки программирования предлагают средства для повторения блоков кода до тех пор, пока не будет удовлетворено условие завершения. С каким бы языком вы не имели дело в прошлом, итерационные операторы C# не должны вызывать особого удивления или требовать лишь небольшого объяснения. В C# предоставляются четыре итерационные конструкции:
• цикл
for• цикл
foreach/in• цикл
while• цикл
do/whileДавайте рассмотрим каждую конструкцию зацикливания по очереди, создав новый проект консольного приложения по имени
IterationsAndDecisionsНа заметку! Материал данного раздела главы будет кратким и по существу, т.к. здесь предполагается наличие у вас опыта работы с аналогичными ключевыми словами (
ifforswitchhttps://docs.microsoft.com/ru-ru/dotnet/csharp/Использование цикла for
Когда требуется повторять блок кода фиксированное количество раз, хороший уровень гибкости предлагает оператор
for// Базовый цикл for.static void ForLoopExample(){  // Обратите внимание, что переменная i видима только в контексте цикла for.  for(int i = 0; i < 4; i++)  {    Console.WriteLine("Number is: {0} ", i);  }  // Здесь переменная i больше видимой не будет.}Все трюки, которые вы научились делать в языках С, C++ и Java, по-прежнему могут использоваться при формировании операторов
for--gotocontinuebreakИспользование цикла foreach
Ключевое слово
foreachforforeachОднако если нужно просто выполнить проход по коллекции элемент за элементом, то цикл
foreachforeachin// Проход по элементам массива посредством foreach.static void ForEachLoopExample(){- Предыдущая
- 68/642
- Следующая
 
                        