Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取用户输入并分配给数组_C#_Arrays_Matrix_Assign - Fatal编程技术网

C# 如何获取用户输入并分配给数组

C# 如何获取用户输入并分配给数组,c#,arrays,matrix,assign,C#,Arrays,Matrix,Assign,假设用户输入一行“1 2 3 4”,我如何将其分配给数组,使数组[0]的值为1,数组[1]的值为2,依此类推?到目前为止,我只在用户在每个值后按enter键时分配值,而不是在值在一行中时分配值,这正是我想要实现的 double[,] array = new double[4,4]; Console.Write("Enter 16 digits: "); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++)

假设用户输入一行“1 2 3 4”,我如何将其分配给数组,使数组[0]的值为1,
数组[1]
的值为2,依此类推?到目前为止,我只在用户在每个值后按enter键时分配值,而不是在值在一行中时分配值,这正是我想要实现的

double[,] array = new double[4,4];

Console.Write("Enter 16 digits: ");
for (int i = 0; i < 4; i++)
{
    for (int j = 0; j < 4; j++)
    {
        array[i, j] = Convert.ToDouble(Console.ReadLine());
    }
}
double[,]数组=新的double[4,4];
控制台。写入(“输入16位:”);
对于(int i=0;i<4;i++)
{
对于(int j=0;j<4;j++)
{
数组[i,j]=Convert.ToDouble(Console.ReadLine());
}
}

您应该添加以下内容

 var line = Console.ReadLine();
 var lineArray = line.Split(new Char[]{' '});
这将为您提供一个lineArray中单个字符串元素的数组,在[0]处带有“1”,等等。如果您想将其转换为一个double数组,您可以这样做

var arrayOfDouble = lineArray.ToList().ConvertAll(x => Double.Parse(x)).ToArray();
这里有一个解释:

  • 分割法。这是一种可用于字符串对象的方法。它接受一个字符串(我刚刚有一个包含一个元素“”的数组,即空格字符),并在出现这些字符时分割提供的字符串。它返回一个拆分项目的数组

  • 对ConvertAll的调用

    • 这需要一个函数,在这种情况下,在lambda中动态指定 表示法(即x=>Double.Parse(x)位),允许 根据需要随时指定函数。功能 对值x征税,并尝试将该值解析为双精度值。自x以来 来自字符串数组,x的类型为String。呼吁 Parse尝试从传递的字符串x中获取一个Double
    • 因为列表对象上有ConvertAll(),所以我首先通过ToList()将数组转换为列表。lambda在list的每个元素上都被调用,因此原始lineArray中的每个字符串都将被传递给Double.Parse,以便转换为Double。将产生一个新的双重列表
    • 最后,我将结果的双打列表返回到 通过ToArray()的数组

  • 您应该添加如下内容

     var line = Console.ReadLine();
     var lineArray = line.Split(new Char[]{' '});
    
    这将为您提供一个lineArray中单个字符串元素的数组,在[0]处带有“1”,等等。如果您想将其转换为一个double数组,您可以这样做

    var arrayOfDouble = lineArray.ToList().ConvertAll(x => Double.Parse(x)).ToArray();
    
    这里有一个解释:

  • 分割法。这是一种可用于字符串对象的方法。它接受一个字符串(我刚刚有一个包含一个元素“”的数组,即空格字符),并在出现这些字符时分割提供的字符串。它返回一个拆分项目的数组

  • 对ConvertAll的调用

    • 这需要一个函数,在这种情况下,在lambda中动态指定 表示法(即x=>Double.Parse(x)位),允许 根据需要随时指定函数。功能 对值x征税,并尝试将该值解析为双精度值。自x以来 来自字符串数组,x的类型为String。呼吁 Parse尝试从传递的字符串x中获取一个Double
    • 因为列表对象上有ConvertAll(),所以我首先通过ToList()将数组转换为列表。lambda在list的每个元素上都被调用,因此原始lineArray中的每个字符串都将被传递给Double.Parse,以便转换为Double。将产生一个新的双重列表
    • 最后,我将结果的双打列表返回到 通过ToArray()的数组

  • 您应该添加如下内容

     var line = Console.ReadLine();
     var lineArray = line.Split(new Char[]{' '});
    
    这将为您提供一个lineArray中单个字符串元素的数组,在[0]处带有“1”,等等。如果您想将其转换为一个double数组,您可以这样做

    var arrayOfDouble = lineArray.ToList().ConvertAll(x => Double.Parse(x)).ToArray();
    
    这里有一个解释:

  • 分割法。这是一种可用于字符串对象的方法。它接受一个字符串(我刚刚有一个包含一个元素“”的数组,即空格字符),并在出现这些字符时分割提供的字符串。它返回一个拆分项目的数组

  • 对ConvertAll的调用

    • 这需要一个函数,在这种情况下,在lambda中动态指定 表示法(即x=>Double.Parse(x)位),允许 根据需要随时指定函数。功能 对值x征税,并尝试将该值解析为双精度值。自x以来 来自字符串数组,x的类型为String。呼吁 Parse尝试从传递的字符串x中获取一个Double
    • 因为列表对象上有ConvertAll(),所以我首先通过ToList()将数组转换为列表。lambda在list的每个元素上都被调用,因此原始lineArray中的每个字符串都将被传递给Double.Parse,以便转换为Double。将产生一个新的双重列表
    • 最后,我将结果的双打列表返回到 通过ToArray()的数组

  • 您应该添加如下内容

     var line = Console.ReadLine();
     var lineArray = line.Split(new Char[]{' '});
    
    这将为您提供一个lineArray中单个字符串元素的数组,在[0]处带有“1”,等等。如果您想将其转换为一个double数组,您可以这样做

    var arrayOfDouble = lineArray.ToList().ConvertAll(x => Double.Parse(x)).ToArray();
    
    这里有一个解释:

  • 分割法。这是一种可用于字符串对象的方法。它接受一个字符串(我刚刚有一个包含一个元素“”的数组,即空格字符),并在出现这些字符时分割提供的字符串。它返回一个拆分项目的数组

  • 对ConvertAll的调用

    • 这需要一个函数,在这种情况下,在lambda中动态指定 表示法(即x=>Double.Parse(x)位),允许 根据需要随时指定函数。功能 对值x征税,并尝试将该值解析为双精度值。自x以来 来自字符串数组,x的类型为String。呼吁 Parse尝试从传递的字符串x中获取一个Double
    • 因为列表对象上有ConvertAll(),所以我首先通过ToList()将数组转换为列表。lambda在list的每个元素上都被调用,因此原始lineArray中的每个字符串都将被传递给Double.Parse,以便转换为Double。将产生一个新的双重列表
    • 最后,我是马