При вычислении выражения ++i.ToString() сначала вычисляется ToString(), а потом ++ - C#

Узнай цену своей работы

Формулировка задачи:

При вычислении выражения ++i.ToString() сначала вычисляется ToString(), а потом ++. Соответственно, это не работает, работает (++i).ToString(). С одной стороны это будто бы логично, если после точки стоит ссылка на член класса, то значение должно быть типа члена, а не типа класса. Но, разве префиксных операторов это должно касаться? Они на то ж и префиксные, чтоб вычисляться до любых прочих действий с объектом.

Решение задачи: «При вычислении выражения ++i.ToString() сначала вычисляется ToString(), а потом ++»

textual
Листинг программы
  1.         class MyClass
  2.         {
  3.             public int X { get; set; }
  4.             public MyClass Foo()
  5.             {
  6.                 //something
  7.                 return this;
  8.             }
  9.             public MyClass Boo()
  10.             {
  11.                 //something else
  12.                 return this;
  13.             }
  14.  
  15.             public MyClass Bar()
  16.             {
  17.                 //again something else
  18.                 return this;
  19.             }
  20.         }
  21.         static void Main(string[] args)
  22.         {
  23.             var myObj = new MyClass();
  24.             int x = ++myObj.Foo().Bar().Boo().X;
  25.             Console.WriteLine(x);
  26.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы