Я новичок в С# и, изучая особенности языка, наткнулся на что-то странное:
struct Foo
{
public Foo Identity() { return this; }
public static void Bar(Foo? foo)
{
Foo foo1 = foo?.Identity().Value; // Does not compile
Foo foo2 = (foo?.Identity()).Value; // Compiles
}
}
Может ли кто-нибудь объяснить мне, зачем нужна скобка?