Как реализовать строку [] в строку [] в C #? - PullRequest
2 голосов
/ 11 мая 2019

Я хочу реализовать 'string[] loadedText' в 'string[] dataList', но постоянно получаю сообщение об ошибке "Cannot implicitly convert type 'string[]' to 'string'".

string[] dataList = new string[1800];
StreamReader loadNewData = new StreamReader("podaciB.txt");
int i = 0;
while (i < 1800)
{
    string[] loadedData = loadNewData.ReadLine().Split(';');
    dataList[i] = loadedData;
    i++;
}

Мне нужен массив 'dataList'он будет содержать 1800 массивов «loadedData », которые содержат 4 строки.

Ответы [ 4 ]

2 голосов
/ 11 мая 2019

Что вам нужно, это зубчатый массив :

string[][] dataList = new string[1800][];
2 голосов
/ 11 мая 2019

loadNewData.ReadLine().Split(';'); возвращает массив строк, и вы сохраняете массив строк в dataList[i], то есть строковый элемент массива строк.Это причина ошибки, о которой вы упоминали в своем вопросе

Если вы хотите сохранить loadNewData.ReadLine().Split(';'); в массиве, я бы предложил вам использовать вложенный список List<List<string>>

Что-то вроде:

List<List<string>> dataList = List<List<string>>();
StreamReader loadNewData = new StreamReader("podaciB.txt");
int i = 0;
while (i < 1800)
{
    var innerList = loadNewData.ReadLine().Split(';').ToList();
    dataList.Add(innerList);
    i++;
}
1 голос
/ 11 мая 2019

Кажется, вам нужен массив массив строк , что-то вроде string[][].

Вы можете сделать это так:

string[][] dataList = new string[1800][];
StreamReader loadNewData = new StreamReader("podaciB.txt");
int i = 0;
while (i < 1800)
{
    string[] loadedData = loadNewData.ReadLine().Split(';');
    dataList[i] = loadedData;
    i++;
}
0 голосов
/ 11 мая 2019

Когда вы разделяете loadedNewData, вы уже получаете string[], потому что функция Split() возвращает string[].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...