You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何将List<string>内的元素两两合并为单个元素

问题原因

你原来的写法是遍历集合中每一个元素,每次都将当前元素和自身拼接,自然会得到元素重复两次的结果,同时你没有按照「每两个元素为一组」的规则遍历,自然无法得到预期的两两拼接效果。

解决方法

方法1:使用步长为2的for循环遍历

这是最直观的写法,直接控制遍历索引,每次取当前索引和下一个索引的元素拼接即可:

List<string> data1 = new List<string>();
// 提前判断集合长度是否为偶数,避免索引越界
if (data.Count % 2 != 0)
{
    // 可根据需求处理长度为奇数的场景,比如抛出异常、忽略最后一个元素,这里示例为补空字符串凑对
    data.Add(string.Empty);
}
for (int i = 0; i < data.Count; i += 2)
{
    data1.Add($"{data[i]} {data[i + 1]}");
}

方法2:使用LINQ分组拼接

如果更习惯LINQ写法,可以按索引整除2的结果分组,每组内元素拼接即可:

var data1 = data.Select((val, idx) => new { val, idx })
                .GroupBy(x => x.idx / 2)
                .Select(g => string.Join(" ", g.Select(x => x.val)))
                .ToList();

输出结果

执行后遍历data1即可得到预期输出:

  • A101 Plans
  • A102 Elev/Sec
  • A103 Unnamed

内容的提问来源于stack exchange,提问作者user16687043

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 17:45:03