繁体   English   中英

C#:如何将多个字符串拆分为二维数组?

[英]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 等等。

提前致谢!

简单的方法是

  1. 读取输入
  2. 根据空格拆分输入
  3. 将其转换为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM