none
IDE0018 Объявление встроенной переменной (Visual Studio 2017 RC) RRS feed

  • Вопрос

  • Добрый день. Хотелось бы узнать что означает данное сообщение и как нужно делать правильно.
    Возникает в такой ситуации:
    int x;
    int.TryParse("100", out x); 

    29 ноября 2016 г. 2:34

Ответы

  • Неверное истолкование на Английском ("inline variable declaration", должно быть "variable declaration can be inlined") + прямой/кривой перевод получается "непонятно что". На самом деле анализатор советует, что можно и так написать, типа новая фича:

    int.TryParse("100", out int x);


    Сделаем содержимое сообщества лучше, вместе!

    8 января 2017 г. 8:42
    Модератор

Все ответы

  • "как нужно делать правильно" - Int32.TryParse
    29 ноября 2016 г. 3:02
  • Не то пальто, сообщение  "IDE0018 Объявление встроенной переменной" остаётся,
    конечно не критично, просто интересно что оно означает,
    аналогично подсвечиваются Decimal.TryParse, DateTime.TryParse
    появилось в 2017 версии студии

    30 ноября 2016 г. 5:25
  • Ошибка выводится при компиляции или просто как подсказка IntelliSence? Возможно, это просто глюк. Покажите в каком окружении находится код, скриншот как выводится ошибка.


    30 ноября 2016 г. 5:49
  • Не ошибка, а как правильно подмечено подсказка IntelliSence.
    (возможно это конечно и глюк в новой студии т.к. версия-кандидат)

    1 декабря 2016 г. 0:46
  • Доброе время суток. Как мне кажется - вы присваеваете значение неинициализированной переменной. Напишите так:

    int x = 0;

    int.TryParse("100", out x); Ошибки не должно быть.

    7 января 2017 г. 19:53
  • Доброе время суток. Как мне кажется - вы присваеваете значение неинициализированной переменной. Напишите так:

    int x = 0;

    int.TryParse("100", out x); Ошибки не должно быть.


    Out-параметру значение присваивает метод, поэтому изначально он может быть неинициализированным.

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    8 января 2017 г. 8:06
  • Неверное истолкование на Английском ("inline variable declaration", должно быть "variable declaration can be inlined") + прямой/кривой перевод получается "непонятно что". На самом деле анализатор советует, что можно и так написать, типа новая фича:

    int.TryParse("100", out int x);


    Сделаем содержимое сообщества лучше, вместе!

    8 января 2017 г. 8:42
    Модератор