При вычислении выражения ++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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д