C# Как конвертировать string в int[,]
Имеется переменная content, в которой хранится string строка:
15 14 13 12 11 13 14 15
16 16 16 16 16 16 16 16
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
26 26 26 26 26 26 26 26
25 24 23 22 21 23 24 25
Нужно конвертировать её в 2D массив типа int. Но я даже не знаю как это можно реализовать
void загрузитьToolStripMenuItem_Click(object sender, EventArgs e)
{
int[,] loadmap = new int[8,8];
string path = @"C:\Users\lxve_every1\Desktop\ser\loadmap.txt";
var fs = new FileStream(path, FileMode.Open, FileAccess.Read);
var sr = new StreamReader(fs, Encoding.UTF8);
string content = sr.ReadToEnd();
Console.WriteLine(content);
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
loadmap[i, j] = content; // Наверное, нужно сначала конвертировать content в int, а затем сделать из него 2D массив?
Console.WriteLine(loadmap[i, j]);
}
}
Console.WriteLine(map);
map = loadmap;
}
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Читать файл можно построчно или сразу в массив строк.
string[] lines = File.ReadAllLines(path);
int[,] map = new int[8, 8];
for (int i = 0; i < map.GetLength(0); i++)
{
string[] tokens = lines[i].Split();
for (int j = 0; j < map.GetLength(1); j++)
{
map[i, j] = int.Parse(tokens[j]);
}
}