将字符串集合拆分为组的 C# 程序
给定一组字符串,您需要使用 C# 将它们分成组。标准查询运算符包含 GroupBy 分组运算符,我们可以使用它轻松拆分字符串集合。 GroupBy运算符的工作方式类似于 SQL GroupBy 子句。它用于从给定的序列或集合中返回共享公共属性或键的元素组。
- 这支持两种语言、C# 和 VB.Net 语言的查询语法。
- GroupBy 也可以在 C# 查询中使用。 into 关键字可以让你继续查询,并且可以执行更多的查询操作。或者换句话说,它是一个临时标识符,允许您执行额外的查询操作。
- 带有 GroupBy 的组也可以在 VB.Net 中使用。
- LINQ 查询以 Select 或 Groupby 子句终止。
句法:
Grouping
例子:
Input: [“Java”, “Python”, “Swift”, “CSS”, “C#”, “Django”]
Output: Splitting the string collection into groups of two elements
[“Java”, “Python”]
[“Swift”, “CSS”]
[“C#”, “Django”]
Input: [“Delhi”, “Goa”, “Chennai”, “Pune”, “Mumbai”, “Himachal”, “Kolkata”]
Output: Splitting the string collection into groups of three elements
[“Delhi”, “Goa”, “Chennai”]
[“Pune”, “Mumbai”, “Himachal”]
[“Kolkata”]
例子:
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);
}
}
输出:
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
说明:在上面的 C# 程序中,在 subject[] array(of 字符串 type) 变量的帮助下,我们正在读取不同的主题。现在我们使用 groupby运算符将给定的 subject[] 集合分成三个主题的组。为了迭代集合,我们使用 for each 语句,但不能用于从源集合中添加或删除项目以避免未定义的结果。现在显示被分成组的给定字符串。