Рубрики

LINQ | Оператор Поколения | Пустой, диапазон и повтор

Операторы генерации используются для создания новой последовательности значений. Стандартный оператор запросов поддерживает 4 различных типа операторов генерации:

  1. DefaultIfEmpty
  2. пустой
  3. Ассортимент
  4. Повторение

Пустой оператор

Оператор Empty используется для возврата пустой коллекции. Или, другими словами, мы можем сказать, что он возвращает пустой IEnumerable <T>, который содержит аргумент указанного типа.

  • Он не поддерживает синтаксис запросов в языках C # и VB.Net.
  • Он поддерживает синтаксис методов на языках C # и VB.Net.
  • Это присутствует только в перечисляемом классе.

Пример:

// C # программа для иллюстрации
// концепция пустого оператора

using System;

using System.Linq;

  

class GFG {

  

    // Основной метод

    static public void Main()

    {

  

        // Запрос, который возвращает пустую коллекцию

        // Используем метод Empty

        var res = Enumerable.Empty<string>();

  

        // Показать общее количество элементов

        // присутствует в данной коллекции

        Console.WriteLine("How many elements present"+

              "in the collection?: {0}", res.Count());

  

        // Показать тип в данной коллекции

        Console.WriteLine("Type is: {0}", res.GetType().Name);

    }

}

Выход:

How many elements presentin the collection?: 0
Type is: String[]

Оператор диапазона

Оператор Range используется для создания коллекции, которая содержит последовательность чисел. Или, другими словами, он используется для возврата коллекции типа IEnumerable <T> с последовательностью целых чисел в заданном диапазоне.

  • Он не поддерживает синтаксис запросов в языках C # и VB.Net.
  • Он поддерживает синтаксис методов на языках C # и VB.Net.
  • Это присутствует только в перечисляемом классе.
  • Он выдаст исключение ArgumentOutOfRangeException, если значение count меньше нуля или start + count-1 больше значения MaxValue.
  • Это реализуется с помощью отложенного выполнения.

Пример :

// C # программа для иллюстрации
// концепция оператора Range

using System;

using System.Linq;

  

class GFG {

  

    // Основной метод

    static public void Main()

    {

  

        // Запрос, который предоставляет 10 элементов

        // начиная с 100

        // Использование метода Range

        var res = Enumerable.Range(100, 10);

  

        // Показать элементы

        Console.WriteLine("Elements are:");

        foreach(var val in res)

        {

            Console.WriteLine(val);

        }

  

        // Показать общее количество элементов

        // присутствует в данной коллекции

        Console.WriteLine("How many elements present"+

             " in the collection?: {0}", res.Count());

    }

}

Выход:

Elements are:
100
101
102
103
104
105
106
107
108
109
How many elements present in the collection?: 10

Повторите Оператор

Оператор повторения используется для создания коллекции, которая содержит одно повторяемое значение. Или, другими словами, мы можем сказать, что он используется для создания типа IEnumerable <T> с повторяющимся числом элементов.

  • Он не поддерживает синтаксис запросов в языках C # и VB.Net.
  • Он поддерживает синтаксис методов на языках C # и VB.Net.
  • Это присутствует только в перечисляемом классе.
  • Он выдаст исключение ArgumentOutOfRangeException, если значение count меньше нуля.
  • Это реализуется с помощью отложенного выполнения.

Пример:

// C # программа для иллюстрации
// концепция оператора повтора

using System;

using System.Linq;

  

class GFG {

  

    // Основной метод

    static public void Main()

    {

  

        // Запрос, который повторяет строку

        // 10 раз

        // Использование метода Range

        var res = Enumerable.Repeat("Welcome to GeeksforGeeks", 10);

  

        // Показать повторную коллекцию

        foreach(var val in res)

        {

            Console.WriteLine(val);

        }

  

        // Показать общее время

        // повтор элемента

        Console.WriteLine("How many times the string"+

                  " repeat?: {0} times", res.Count());

    }

}

Выход:

Welcome to GeeksforGeeks
Welcome to GeeksforGeeks
Welcome to GeeksforGeeks
Welcome to GeeksforGeeks
Welcome to GeeksforGeeks
Welcome to GeeksforGeeks
Welcome to GeeksforGeeks
Welcome to GeeksforGeeks
Welcome to GeeksforGeeks
Welcome to GeeksforGeeks
How many times the string repeat?: 10 times

Рекомендуемые посты:

LINQ | Оператор Поколения | Пустой, диапазон и повтор

0.00 (0%) 0 votes