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.