簡體   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