Detailed explanation of C# nested loops and arrays PPt