假设用户输入一行“1 2 3 4”,如何将其分配给数组,使得array[0]
的值为1,array[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());
}
}
答案 0 :(得分:2)
你必须首先拆分该行:
string[] line = Console.ReadLine().Split(' ');
然后它的琐碎
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
array[i, j] = double.Parse(line[i * 4 + j];
}
}
答案 1 :(得分:1)
您应该添加类似
的内容 var line = Console.ReadLine();
var lineArray = line.Split(new Char[]{' '});
这将在lineArray中为您提供一系列单独的字符串元素元素,其中&#34; 1&#34;在[0],等等。如果你想将它转换为双打数组,你可以
var arrayOfDouble = lineArray.ToList().ConvertAll(x => Double.Parse(x)).ToArray();
以下是解释:
拆分方法。这是String对象可用的方法。它需要一串字符(我只有一个元素的数组&#39;&#39;,空格字符)并在出现这些字符时拆分提供的字符串。它返回拆分项的数组。
对ConvertAll的调用。