[英]C#: How to split multiple strings into 2D array?
我想从用户输入创建一个矩阵,其中每一行都是从一串数字除以空格创建的。 (在开始时用户输入矩阵的大小)。
示例输入:
1 4 6 4 进入
9 8 5 2 进入
0 3 6 1 进入
output 将是: array[1, 1] = 1 array[1,2] = 4... array[2,1] = 9 等等。
提前致谢!
简单的方法是
int
列表并将其添加到List<List<int>>
object。示例:此代码非常基本,并假设输入将基于整数和空格。 您应该考虑添加检查以确保输入格式正确
List<List<int>> arr = new List<List<int>>();
while (true) {
string line = Console.ReadLine();
if (string.IsNullOrEmpty(line))
break;
arr.Add(line.Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(x => int.Parse(x)).ToList());
}
// input:
1 2 3<enter>
4 5 6<enter>
7 8 9<enter>
<enter>
或者您可以创建一个锯齿状数组以通过 indecies 访问。 以下假设 3 行。
int[][] arr = new int[3][];
int i = 0;
while (true) {
string line = Console.ReadLine();
if (string.IsNullOrEmpty(line))
break;
arr[i++] = line.Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(x => int.Parse(x)).ToArray();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.