使用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
相关产品推荐
相关产品推荐

