Ошибка компиляции CS0029 - неявное преобразование при выводе целого числа в текстовое поле - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь создать систему инвентаризации для проекта. Мне дали базовый код для классов, отсюда списки и объекты.

Когда я пытаюсь вернуть все эти значения из файла в RichTextBox с помощью WinForms, я получаю ошибку компиляции (особенно для неявных преобразований).

Мне просто интересно, есть ли дополнительный скрипт для отображения целых чисел в WinForms, отличный от обычного textbox.txt = "some numbers".

private void button5_Click(object sender, EventArgs e)
{
    List<Bike> Bikes = new List<Bike>();
    OpenFileDialog ofd = new OpenFileDialog();

    if (ofd.ShowDialog() == DialogResult.OK)
    {
        string[] lines = File.ReadAllLines(ofd.FileName);
        int invCounter = 0;
        int invLength = lines.Length / 8;
        for (int i = 0; i < invLength; i++) //for each bike
        {
            string make = lines[i + invCounter++]; //store the make
            string type = lines[i + invCounter++]; //store the type
            string model = lines[i + invCounter++]; //store the model
            int year = int.Parse(lines[i + invCounter++]); //store the year
            string wheelSize = lines[i + invCounter++]; //store the wheel size
            string frameType = lines[i + invCounter++]; //store the frame type

            //store the security code
            int securityCode = int.Parse(lines[i + invCounter++]); 

            //create a new bike object with the details stored above
            Bike bk = new Bike(make, type, model, year, wheelSize, frameType,
                securityCode); 

            Bikes.Add(bk); //add the bike to Bikes list
            foreach (Bike bike in Bikes)
            {
                richTextBox1.Text = bk.Type;
                richTextBox1.Text = bk.SecurityCode; // Error here
                richTextBox1.Text = bk.Make;
                richTextBox1.Text = bk.Model;
                richTextBox1.Text = bk.Year; // Error here
                richTextBox1.Text = bk.WheelSize;
                richTextBox1.Text = bk.Forks;
            }
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Если я понимаю ваш вопрос, вы можете попробовать:

richTextBox1.Text = bk.SecurityCode.ToString();
richTextBox1.Text = bk.Year.ToString();

, чтобы преобразовать число в string.

0 голосов
/ 25 апреля 2019

Вы пытаетесь присвоить int свойству string (Text). Не существует неявного преобразования из int в string, поэтому вы должны сделать это явно. Просто позвоните .ToString() на int, который вы хотите назначить.

foreach (Bike bike in Bikes)
{
    richTextBox1.Text = bk.Type;
    richTextBox1.Text = bk.SecurityCode.ToString();
    richTextBox1.Text = bk.Make;
    richTextBox1.Text = bk.Model;
    richTextBox1.Text = bk.Year.ToString();
    richTextBox1.Text = bk.WheelSize;
    richTextBox1.Text = bk.Forks;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...