How to write a method that print 1D and 2D array using array.Rank in C#

1 Answer

0 votes
using System;

namespace ConsoleApplication_C_Sharp
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = new int[3] { 1, 2, 3 };

            string[,] arr2d = new string[,]
            {
                {"c#", "java"},
                {"c", "c++"},
                {"php", "javascript"},
            };

            PrintArray(arr);
            Console.WriteLine();
            PrintArray(arr2d);
        }
        static void PrintArray(Array array)
        {
            switch (array.Rank)
            {
                case 1:
                    int len = array.Length;
                    for (int i = 0; i < len; i++)
                    {
                        Console.WriteLine(array.GetValue(i));
                    }
                    break;
                case 2:
                    int len0 = array.GetLength(0);
                    int len1 = array.GetLength(1);
                    for (int i = 0; i < len0; i++)
                    {
                        for (int j = 0; j < len1; j++)
                        {
                            Console.Write(array.GetValue(i, j) + " ");
                        }
                        Console.WriteLine();
                    }
                    break;
            }
        }
    }
}

/*
run:
  
1
2
3

c# java
c c++
php javascript
  
*/

 



answered Jan 7, 2017 by avibootz
...