你们是无情的,让像我这样的新程序员感受到真正的欢迎。 :)Groupby Linq C#
好吧让我再试试这一次,如果我能正确解释我的情况。像下面的答案之一,我有一个字符串,其中包含以下信息。这是使用while循环创建的,每行以Environment.Newline结尾(第一行没有错误,实际上有一个空行)。
var s = @"
ABC-123, 80000, 1400
ABC-123, 70000, 1250
ABC-123, 65000, 1200
BCD-234, 90000, 1300
BCD-234, 95000, 1100
XYZ-111, 24000, 1000
XYZ-111, 24000, 1000"
我最初问是否有办法按第一列即,所有的ABC-123被分组在一起,第二个被加和并且第三列被平均。请忽略总和和平均值,我只需要先了解如何组合。
此处,我感到困惑,使用下面的语句下面的答案之一:
var ss = s.Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Split(", ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries))
.GroupBy(y => y[0]);
我明白了什么,答案正在试图做的,但我需要帮助写结果返回到一个字符串(也许这不是正确的选择,我不知道,总是接受建议),以便我可以使用StreamWriter将结果保存为csv。
我试着了解IEnumerables,但所有的视频/网站只是混淆了我的地狱。我也试着输出SS的结果,这样也许,如果我有一个视觉表现,那么我可以重写,但是当我这样做,我得到的结果如下:
Console.WriteLine(ss);
Console.Read();
System.Linq.GroupedEnumerable 3[<>f__AnonymousType0
1 System.Char],System.Char,<
f__AnonymousType0`1 [System.Char]
输出我希望会是这个样子的字符串。
output = "ABC-123, 215000, 1283
BCD-234, 185000, 1200
XYZ-111, 48000, 1000"
为什么不先拆呢,放在一个表或其他对象? –
什么专栏。这是一个字符串。字符串没有列 – Liam
“输出为”的字符串是什么意思?单个字符串,还是多个字符串?你试过什么了? –