Please, see my comment to the question.
There is no strange
behaviour. It's totally unrelated to
Inside a setter
is called no matter of
result. To correct it you need to add '
' and '
', because only one line of statement is executed after
See: if-else (C# reference)