C# 从键[0]-键[n]连接字典值

C# 从键[0]-键[n]连接字典值,c#,linq,C#,Linq,有人能帮我解决这个问题吗。所以我有一本任意大小的字典。我希望将键[0]到键[5]之间的值连接到一个新的字典键中 所以我有以下几点 {[0],“string1”}{[1],“string2”}{[2],“string3”}{[3],“string4”} {[4],“string5”}{[5],“string6”} 我想要一本新字典,比如说 {[0],“string1;string2;string3”}{[1],“string4;string5;string6”} 我所拥有的是一个帐户列表,首先我将

有人能帮我解决这个问题吗。所以我有一本任意大小的字典。我希望将键[0]到键[5]之间的值连接到一个新的字典键中

所以我有以下几点

{[0],“string1”}{[1],“string2”}{[2],“string3”}{[3],“string4”} {[4],“string5”}{[5],“string6”}

我想要一本新字典,比如说

{[0],“string1;string2;string3”}{[1],“string4;string5;string6”}

我所拥有的是一个帐户列表,首先我将该列表转换为一本字典

  var keyVal = _request.AccountNames.Select((self, index) => new { self, index }).ToDictionary(key => key.index, value => value.self); 
在我想创建新字典但不知道如何创建之后,我可以做的是将所有键值合并成一个大字符串。 我可以计算“;”的索引并在需要的地方拆分列表,但我更喜欢使用字典

 keyVal .Select(x => x.Value).Aggregate((s1, s2) => s1 + ";" + s2);

谢谢。

使用String.Join()函数。请参考此
\u request.AccountNames.Select((self,index)=>new{self,index})。GroupBy(e=>e.index/3,e=>e.self)。ToDictionary(g=>g.Key,g=>String.Join(;”,g))
有时最好在for循环中实现逻辑;linq的性能不是很好。进行测试并验证是否是这种情况。使用String.Join()函数。参考此
\u request.AccountNames.Select((self,index)=>new{self,index})。GroupBy(e=>e.index/3,e=>e.self)。ToDictionary(g=>g.Key,g=>String.Join(;”,g))
有时最好在for循环中实现逻辑;linq的性能不是很好。进行测试并验证是否存在这种情况。