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

C#反向遍历List打印10×10矩阵时丢失行问题排查

问题原因
  • 循环索引范围错误:C# 中 List 是 0 基索引,你写的 for (int i = 10; i > 0; i--) 循环只遍历了 10 到 1 这10个值,完全没有覆盖到索引 0 的位置,导致索引 0 对应的元素没有打印,自然少了一行。
  • 靠 try catch 捕获索引越界异常来输出全+行的写法极不规范,不仅性能差,还容易隐藏其他潜在异常。
修正方案

你要输出 10×10 的左下对齐矩阵,直接循环 0 到9的索引即可,判断当前索引是否在 List 的有效范围内,有效就打印对应内容右侧补+,无效就打印10个+,补全逻辑可以直接用字符串自带的 PadRight 方法简化。
修正后的代码如下:

List<string> filtredList = new List<string>() { "Jacuzzi", "Action", "Chinchilla", "Squeezebox", "Academic", "Abstract" };
filtredList = Sorting(filtredList); // 按长度降序排序的方法
foreach (var item in filtredList) Console.WriteLine("Item: " + item + " length: " + item.Length);
Console.WriteLine("-------------------------------------");

// 循环10次对应10行,i从9到0刚好匹配左下对齐的输出顺序
for (int i = 9; i >= 0; i--)
{
    if (i < filtredList.Count)
    {
        // 字符串长度不足10位时右侧补+
        Console.WriteLine(filtredList[i].PadRight(10, '+'));
    }
    else
    {
        Console.WriteLine(new string('+', 10));
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:12:02