この構文が 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";