I'm new here and sorry If my question is stupid, but I really need you help. I need to sort that two dimensional string array by id (the first column):
string [,] a = new string [,]
{
    {"2","Pena","pena"},
    {"1","Kon","kon"},
    {"5","Sopol","sopol"},
    {"4","Pastet","pastet"},
    {"7","Kuche","kuche"}
};
The problem is that I'm sorting only the number and I want after them to sort the words. That's what I did so far
static void Main(string[] args)
{
    string [,] a = new string [,]
    {
        {"2","Pena","pena"},
        {"1","Kon","kon"},
        {"5","Sopol","sopol"},
        {"4","Pastet","pastet"},
        {"7","Kuche","kuche"}
    };
    int b = a.GetLength(0);
    Console.WriteLine(b);
    Console.WriteLine(a[0,0]);
    Console.WriteLine(a[0,1]);
    Console.WriteLine(a[1,0]);
    InsertionSort(a, b);
    Console.WriteLine();
    Console.Write("Sorted Array: ");
    printArray(a);
    Console.WriteLine();
    Console.Write("Press any key to close");
    Console.ReadKey();
}
public static void InsertionSort(string[,] iNumbers, int iArraySize)
{
    int i, j, index;
    for (i = 1; i < iArraySize; i++)
    {
        for (int k = 0; k < iNumbers.GetLength(1); k++)
        {
            index = Convert.ToInt32(iNumbers[i, 0]);
            j = i;
            while ((j > 0) && (Convert.ToInt32(iNumbers[j - 1, 0]) > index))
            {
                iNumbers[j, k] = iNumbers[j - 1, k];
                j = j - 1;
            }
            iNumbers[j, 0] = Convert.ToString(index);
        }
    }
}
static void printArray(string[,] iNumbers)
{
    for (int i = 0; i < iNumbers.GetLength(0); i++)
    {
        for (int k = 0; k < iNumbers.GetLength(1); k++) 
        {
            Console.Write(iNumbers[i, k] + " ");
        }
    }
    Console.WriteLine();
}
Unfortunatelly as output I get
1 Pena pena 2 Kon kon 4 Sopol sopol 5 Pastet pastet 7 Kuche kuche
I would be really grateful if you could help me.
 
     
    