C# 将数组用作全局数组

C# 将数组用作全局数组,c#,c#-4.0,multidimensional-array,C#,C# 4.0,Multidimensional Array,我知道c#不喜欢声明全局。我有一个多维数组的代码,我希望用户输入行数,然后输入每行的列数 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Multidimensional_Array { class Program { static void Main(string[] args) {

我知道c#不喜欢声明全局。我有一个多维数组的代码,我希望用户输入行数,然后输入每行的列数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Multidimensional_Array
{

class Program
    {

        static void Main(string[] args)
        {
            Console.WriteLine("ENter the no of rows ");
            int rows=Convert.ToInt32(Console.ReadLine());

           for(int i=0;i<rows;i++)
            {

                Console.WriteLine("Enter no of columns for "+i+" row");
                   var columns  = Convert.ToInt32(Console.ReadLine());
                int [,] multiDynamic=new int[rows,columns];
                Console.WriteLine("enter " +i+ " row elements");
                for(int j=0;j<columns;j++)
                {
                    multiDynamic[i,j]=Convert.ToInt32(Console.ReadLine());
                }


            }
            Console.WriteLine("The array elements are ");


    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
命名空间多维数组
{
班级计划
{
静态void Main(字符串[]参数)
{
Console.WriteLine(“输入行数”);
int rows=Convert.ToInt32(Console.ReadLine());

对于(int i=0;i在循环外声明数组

int [,] multiDynamic = null;
for(int i=0;i<rows;i++)
        {

            Console.WriteLine("Enter no of columns for "+i+" row");
            var columns  = Convert.ToInt32(Console.ReadLine());
             multiDynamic=new int[rows,columns];
            Console.WriteLine("enter " +i+ " row elements");
            for(int j=0;j<columns;j++)
            {
                multiDynamic[i,j]=Convert.ToInt32(Console.ReadLine());
            }


        }
int[,]multiDynamic=null;

对于(int i=0;i编辑,根据评论更新

使用锯齿阵列

     int [][] multiDynamic=new int[rows][];

   for(int i=0;i<rows;i++)
    {
        Console.WriteLine("Enter no of columns for "+i+" row");
           var columns  = Convert.ToInt32(Console.ReadLine());
        multiDynamic[i] = new int[columns];
        Console.WriteLine("enter " +i+ " row elements");
        for(int j=0;j<columns;j++)
        {
            multiDynamic[i][j]=Convert.ToInt32(Console.ReadLine());
        }


    }
    Console.WriteLine("The array elements are ");

在外部搜索时声明它:

int rows=Convert.ToInt32(Console.ReadLine());
int [,] multiDynamic=new int[rows,columns];
for(int i=0;i<rows;i++)
{

    Console.WriteLine("Enter no of columns for "+i+" row");
       var columns  = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("enter " +i+ " row elements");
    for(int j=0;j<columns;j++)
    {
        multiDynamic[i,j]=Convert.ToInt32(Console.ReadLine());
    }


}
Console.WriteLine("The array elements are ");
int rows=Convert.ToInt32(Console.ReadLine());
int[,]多动态=新int[行,列];

for(int i=0;i在第一个循环之外声明它。

多重动态声明两次。它不会编译,因为每行的列必须来自用户!!在这种情况下,您必须使用。多维数组具有固定长度,但列数组也超出范围!!
int rows=Convert.ToInt32(Console.ReadLine());
int [,] multiDynamic=new int[rows,columns];
for(int i=0;i<rows;i++)
{

    Console.WriteLine("Enter no of columns for "+i+" row");
       var columns  = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("enter " +i+ " row elements");
    for(int j=0;j<columns;j++)
    {
        multiDynamic[i,j]=Convert.ToInt32(Console.ReadLine());
    }


}
Console.WriteLine("The array elements are ");