Как исправить эту ошибку «Не удается неявно преобразовать тип« char »в« строку »» в C #? - PullRequest
0 голосов
/ 09 мая 2019

Я отправляю данные из Arduino на консоль.После получения данных запускается событие.Но я сталкиваюсь с этой ошибкой прямо сейчас "не могу неявно преобразовать тип 'char' в 'string'"

введите описание изображения здесь

Ответы [ 3 ]

5 голосов
/ 09 мая 2019

Измените одинарные кавычки на двойные.Одинарные кавычки для символов и двойные кавычки для строк.

1 голос
/ 10 мая 2019

Невозможно неявно преобразовать тип 'char' в 'string'

Возможно, вы захотите проверить кастинги и соглашения о типах. См. документы . Возможно, вы также захотите узнать причины, по которым команда разработчиков C # не использует неявное преобразование char в строку в этом другом вопросе по SO (в частности, проверьте ответ Эрика Липперта).

Еще один поток, который очевиден в вашем коде, - это путаница между оператором присваивания = и проверкой равенства ==. Это распространенный источник ошибок. Всегда проверяйте это при выполнении условий.

Я также заметил, что у вас есть бесконечный цикл, т.е. while (true). Просто убедитесь, что это не станет бесконечным циклом (если вы понимаете, что я имею в виду: D).

0 голосов
/ 10 мая 2019
        SerialPort myport = new SerialPort();
        myport.BaudRate = 115200;
        myport.PortName = "COM14";
        myport.Open();

        while (true)
        {
            string data_rx = myport.ReadLine();
            Console.WriteLine(data_rx);
            if (data_rx == "1\r")
            {
                Console.WriteLine("up");
            }
            else if(data_rx == "2\r")
            {
                Console.WriteLine("Down");
            }
            else if (data_rx == "3\r")
            {
                Console.WriteLine("Left");
            }
            else if (data_rx == "4\r")
            {
                Console.WriteLine("right");
            }
...