在C#中,你可以使用LINQ(Language Integrated Query)对ReadLine()
方法返回的字符串进行分组。以下是一个示例,展示了如何根据特定字符(例如逗号)对文本行进行分组:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
string input = "apple,fruit,red\norange,fruit,orange\nbanana,fruit,yellow";
// 分割输入字符串为行
var lines = input.Split('\n');
// 使用LINQ对行进行分组
var groupedLines = lines
.Select(line => line.Split(',')) // 根据逗号分割每行
.GroupBy(parts => parts[0]) // 根据第一个元素(例如类别)进行分组
.ToList(); // 将分组结果转换为列表
// 输出分组结果
foreach (var group in groupedLines)
{
Console.WriteLine($"Group: {group.Key}");
foreach (var item in group)
{
Console.WriteLine($" Item: {string.Join(",", item)}");
}
}
}
}
在这个示例中,我们首先将输入字符串按换行符分割成行,然后使用LINQ的Select
方法将每行按逗号分割。接下来,我们使用GroupBy
方法根据第一个元素(例如类别)对分割后的字符串数组进行分组。最后,我们将分组结果转换为列表并输出。