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

C#中如何将单列计算结果数据按4列排列展示

C#实现列表按4列逐行输出的方案

实现思路

将一维的结果列表按每4个元素切割为一个行分组,再将每个分组内的元素按固定宽度拼接输出即可,自动适配最后一行不足4个元素的边界场景。

代码实现

方案1:LINQ简洁实现

需要引入System.Linq命名空间,适合代码简洁性要求高的场景:

using System;
using System.Collections.Generic;
using System.Linq;

class OutputDemo
{
    static void Main()
    {
        // 替换为你实际计算得到的结果列表
        List<int> resultData = Enumerable.Range(1, 10).ToList();
        
        // 按每4个元素为一组做拆分
        var rowGroups = resultData
            .Select((value, index) => new { Value = value, Index = index })
            .GroupBy(item => item.Index / 4)
            .Select(group => group.Select(item => item.Value));

        // 逐行输出,每个元素固定占6个字符宽度,左对齐
        foreach (var row in rowGroups)
        {
            Console.WriteLine(string.Join("", row.Select(v => $"{v,-6}")));
        }
    }
}

方案2:原生循环实现

无需引入额外命名空间,性能更好且逻辑直观:

using System;
using System.Collections.Generic;

class OutputDemo
{
    static void Main()
    {
        List<int> resultData = Enumerable.Range(1, 10).ToList();
        
        // 每次步进4个元素处理一行
        for (int i = 0; i < resultData.Count; i += 4)
        {
            // 处理最后一行不足4个元素的情况
            int currentRowItemCount = Math.Min(4, resultData.Count - i);
            for (int j = 0; j < currentRowItemCount; j++)
            {
                // 固定宽度输出,-6代表左对齐占6字符,可按需调整数值
                Console.Write($"{resultData[i + j],-6}");
            }
            Console.WriteLine();
        }
    }
}

参数调整说明

  • 如果你需要调整列间距,修改格式化字符串$"{v,-6}"中的数字6即可,数值越大列间距越宽
  • 如果需要右对齐输出,去掉负号即可,例如$"{v,6}"
  • 如果你的计算结果是字符串、浮点数等其他类型,直接替换List<int>的泛型类型即可,格式化规则通用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:36:03