При вычислении выражения ++i.ToString() сначала вычисляется ToString(), а потом ++ - C#
Формулировка задачи:
При вычислении выражения ++i.ToString() сначала вычисляется ToString(), а потом ++. Соответственно, это не работает, работает (++i).ToString(). С одной стороны это будто бы логично, если после точки стоит ссылка на член класса, то значение должно быть типа члена, а не типа класса. Но, разве префиксных операторов это должно касаться? Они на то ж и префиксные, чтоб вычисляться до любых прочих действий с объектом.
Решение задачи: «При вычислении выражения ++i.ToString() сначала вычисляется ToString(), а потом ++»
textual
Листинг программы
- class MyClass
- {
- public int X { get; set; }
- public MyClass Foo()
- {
- //something
- return this;
- }
- public MyClass Boo()
- {
- //something else
- return this;
- }
- public MyClass Bar()
- {
- //again something else
- return this;
- }
- }
- static void Main(string[] args)
- {
- var myObj = new MyClass();
- int x = ++myObj.Foo().Bar().Boo().X;
- Console.WriteLine(x);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д