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

使用foreach循环遍历锯齿状字符串数组显示元素无效,如何解决?

解决锯齿状字符串数组的遍历问题

你已经成功创建并初始化了一个锯齿状数组,但目前的代码里没有添加遍历并输出元素的逻辑,这就是为什么你看不到数组元素的原因。咱们来补上这部分代码,让它正常工作:

完整可运行代码

public class Program { 
    public static void Main(string[] args) { 
        string[][] str = new string[5][]; 
        str[0] = new string[5]; 
        str[1] = new string[10]; 
        str[2] = new string[20]; 
        str[3] = new string[50]; 
        str[4] = new string[10]; 
        //Now store data in the jagged array 
        str[0][0] = "Pune"; 
        str[1][0] = "Kolkata"; 
        str[2][0] = "Bangalore"; 
        str[3][0] = "The pink city named ..."; 

        // 遍历锯齿状数组的foreach循环
        // 外层循环:遍历每个子数组
        foreach (string[] subArray in str)
        {
            // 内层循环:遍历当前子数组中的每个元素
            foreach (string item in subArray)
            {
                // 只输出非null的元素(避免显示空值)
                if (!string.IsNullOrEmpty(item))
                {
                    Console.WriteLine(item);
                }
            }
        }
    } 
}

代码说明

  • 外层foreach:迭代锯齿数组中的每一个子数组(string[] subArray),因为锯齿数组本质是「数组的数组」,所以需要两层循环才能遍历到所有元素。
  • 内层foreach:迭代当前子数组中的每一个元素,这里加了string.IsNullOrEmpty的判断,是因为你只给每个子数组的第一个元素赋值了,其他位置默认是null,过滤后只会显示你实际存储的内容。
  • 运行这段代码后,控制台会输出你存储的四个城市相关字符串。

如果你想看到所有元素(包括null),可以去掉if判断直接输出item,不过那样会打印很多空行或者null值,一般没必要这么做。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:20:07