C#:如何将多个字符串拆分为二维数组?
Posted
技术标签:
【中文标题】C#:如何将多个字符串拆分为二维数组?【英文标题】:C#: How to split multiple strings into 2D array? 【发布时间】:2022-01-05 21:29:27 【问题描述】:我想根据用户输入创建一个矩阵,其中每一行都是从一串数字除以空格创建的。 (一开始用户输入矩阵的大小)。
示例输入: 1 4 6 4 进入 9 8 5 2 进入 0 3 6 1 进入
输出将是:array[1, 1] = 1 array[1,2] = 4 ... array[2,1] = 9 etc.
提前致谢!
【问题讨论】:
欢迎,请贴出你试过的代码。 我能做到的最接近的是创建一个由空格分隔的字符串数组,而我不知道如何将这些字符串划分为数组元素。 '字符串[] 输入2 = 新字符串[n]; for (int i = 0; i 【参考方案1】:这样做的简单方法是
-
读取输入
根据空格分割输入
将其转换为
int
列表并将其添加到List<List<int>>
对象中。
示例: 此代码非常基本,并假设输入将基于整数和空格。您应该考虑添加检查以确保输入格式正确
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();
【讨论】:
以上是关于C#:如何将多个字符串拆分为二维数组?的主要内容,如果未能解决你的问题,请参考以下文章