Programa C# para dividir una colección de strings en grupos

Dada una colección de strings, debe dividirlas en grupos usando C#. El operador de consulta estándar contiene el operador de agrupación GroupBy con el que podemos dividir una colección de strings fácilmente. El funcionamiento del operador GroupBy es similar a la cláusula SQL GroupBy. Se utiliza para devolver el grupo de elementos que comparten los atributos o claves comunes de la secuencia o colección dada. 

  • Esto es compatible con la sintaxis de consulta en los lenguajes C# y VB.Net.
  • GroupBy también se puede usar en la consulta de C#. La palabra clave into le permite continuar con la consulta y puede realizar más operaciones de consulta. O dicho de otro modo, es un identificador temporal que te permite realizar operaciones de consulta adicionales.
  • Un grupo con GroupBy también se puede usar en VB.Net.
  • La consulta LINQ finaliza con la cláusula Select o Groupby.

Sintaxis:

Objeto Grouping<TKey, TElement>.

Ejemplo:

Entrada: [“Java”, “Python”, “Swift”, “CSS”, “C#”, “Django”]

Salida: dividir la colección de strings en grupos de dos elementos

               [“Java”, “Python”]

               [“Rápido”, “CSS”]

               [“C#”, “Django”]

Entrada: [“Delhi”, “Goa”, “Chennai”, “Pune”, “Mumbai”, “Himachal”, “Kolkata”]

Salida: dividir la colección de strings en grupos de tres elementos

               [“Delhi”, “Goa”, “Chennai”]

               [“Pune”, “Mumbai”, “Himachal”]

               [“Calcuta”]

Ejemplo:

C#

// C# program to illustrate how to split a string 
// collections into groups 
using System;
using System.Linq;
using System.Collections.Generic;
  
class GFG{
  
static public void Main()
{
      
    // Initializing a an array of strings 
    string[] subjects = { "Java", "Python", "Swift", "CSS",
                          "C#", "Django", "C++", "Javascript", 
                          "HTML", "PHP" };
  
      // Displaying the collection
    Console.Write("The subjects are: \n");
    Console.WriteLine(string.Join(", ", subjects));
  
      
      // Now splitting the string collection into
      // a group of three elements
    var subjectSplit = from i in Enumerable.Range(0, subjects.Length) 
                       group subjects[i] by i / 3;
                         
    Console.WriteLine("\nThe group of subjects are:");
    foreach(var subject in subjectSplit)
        subjectView(string.Join(",  ", subject.ToArray()));
}
  
// Print each group elements
static void subjectView(string subject)
{
    Console.WriteLine(subject);
}
}

Producción:

The subjects are: 
Java, Python, Swift, CSS, C#, Django, C++, Javascript, HTML, PHP

The group of subjects are:
Java,  Python,  Swift
CSS,  C#,  Django
C++,  Javascript,  HTML
PHP

Explicación: En el programa C# anterior con la ayuda de la variable subject[] array (de tipo string) estamos leyendo diferentes temas. Ahora dividimos la colección subject[] dada en el grupo de tres sujetos usando el operador groupby. Para iterar sobre la colección, estamos usando para cada declaración, pero no se puede usar para agregar o eliminar elementos de la colección de origen para evitar resultados indefinidos. Ahora muestre la string dada que se divide en grupos.

Publicación traducida automáticamente

Artículo escrito por bhuwanesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *