3

この構文が c# で許可されていないのはなぜですか?

var email = (User user = User.Current) != null ? user.Email : "default@mail.com";

これが許可されている場合:

User user;
var email = (user = User.Current) != null ? user.Email : "default@mail.com";

変数がすでに定義されている必要があり、ステートメントで定義できないのはなぜですか?

これは、行を短くするのに役立ちます。たとえば、次のようになります。

var email = User.Current.Very.Complex.Path != null ? User.Current.Very.Complex.Path.Email : "default@mail.com";

になり得る

var email = (var user = User.Current.Very.Complex.Path) != null ? user.Email : "default@mail.com";
4

1 に答える 1