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

C#如何将多个object对象列表按索引拼接输出为单列内容

解决方案

你需要按索引对齐所有列表的对应元素,依次拼接即可。需要注意普通Dictionary<TKey,TValue>默认不保证插入顺序,如果你需要严格按Code→Name→Age的顺序拼接,建议先显式指定取值顺序避免异常。

实现代码(循环方案,兼容性最好)

public class Program
{
    static void Main(string[] args)
    {
        Dictionary<string, List<object>> keyvalues = new Dictionary<string, List<object>>();
        keyvalues.Add("Code", new List<object>() { 1, 2, 3, 4 });
        keyvalues.Add("Name", new List<object>() { "A", "B", "C", "D" });
        keyvalues.Add("Age", new List<object>() { 20, 30, 40, 50 });        

        // 取所有列表的公共长度
        int length = keyvalues.Values.First().Count;
        for (int i = 0; i < length; i++)
        {
            // 按索引取每个列表的对应元素拼接成一行
            string line = string.Concat(keyvalues.Values.Select(list => list[i]));
            Console.WriteLine(line);
        }
                
        Console.ReadLine();
    }
}

实现代码(LINQ Zip方案,适合固定数量列表)

public class Program
{
    static void Main(string[] args)
    {
        Dictionary<string, List<object>> keyvalues = new Dictionary<string, List<object>>();
        keyvalues.Add("Code", new List<object>() { 1, 2, 3, 4 });
        keyvalues.Add("Name", new List<object>() { "A", "B", "C", "D" });
        keyvalues.Add("Age", new List<object>() { 20, 30, 40, 50 });        

        // 显式按顺序取出列表,避免字典无序问题
        var codeList = keyvalues["Code"];
        var nameList = keyvalues["Name"];
        var ageList = keyvalues["Age"];

        var result = codeList
            .Zip(nameList, (c, n) => $"{c}{n}")
            .Zip(ageList, (pre, a) => $"{pre}{a}")
            .ToList();

        result.ForEach(Console.WriteLine);
                
        Console.ReadLine();
    }
}

两种方案运行后都会输出你期望的结果:

1A20
2B30
3C40
4D50

注意事项

  • 如果你使用的是低于.NET Core 2.0的版本,Dictionary不保留插入顺序,拼接前必须显式指定列表的取值顺序,否则可能出现顺序错乱。
  • 实际使用时建议提前校验所有列表长度一致,避免出现索引越界异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:15:05