Ошибка: не удается неявно преобразовать тип 'string' в 'string []'? - PullRequest
0 голосов
/ 29 апреля 2018

Я пытался создать массив, используя файл .txt, в котором есть слова. Только одно слово в массиве. Но там, fajlbe.ReadLine(); закреплен как неправильный код. Зачем?

struct Sor
{
    public string árucikk;
}
static Sor[] TSor = new Sor[1000];

static void Main(string[] args)
{
    StreamReader fajlbe = new StreamReader("penztar.txt");
    string[] tomb = new String[1];

    int n = 0;

    while(!fajlbe.EndOfStream)
    {
        tomb = fajlbe.ReadLine();   //here I've got an error
        TSor[n].árucikk = tomb[0];
        n++;
    }
    Console.WriteLine(TSor[1]);

    fajlbe.Close();

1 Ответ

0 голосов
/ 29 апреля 2018
tomb = fajlbe.ReadLine();

Метод ReadLine возвращает строку, а переменная tomb объявляется как строковый массив (string[] tomb = new String[1];). Вы не можете присвоить строку массиву строк.

Вместо этого, если вы намереваетесь присвоить строку первому элементу массива, вы можете сделать это, установив первый элемент массива:

tomb[0] = fajlbe.ReadLine();

Не похоже, что вам нужен массив здесь. Если это так, вы можете просто изменить объявление переменной tomb, чтобы вместо этого объявить ее как строку:

string tomb = string.Empty;

Конечно, тогда вам нужно изменить,

TSor[n].árucikk = tomb[0];

до

TSor[n].árucikk = tomb;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...