Существуют теперь 4 пустые осведомленные операторы
String subject = null; //"Something"
var r = subject == null ? "defaultIfNull" : subject;
print(r); //"defaultIfNull" or "Something"
использование ярлыка??
subject ?? "defaultIfNull";
String subject = null; //"Something"
if (subject == null) subject = "defaultIfNull";
print(subject); //"defaultIfNull" or "Something"
использование ярлыка?? =
subject ??= "defaultIfNull";
Point object = null; //or Point(1,2);
var r = object == null ? null : object.x;
print(r); //null or 1
предмета?.
object?.x;
, результат следующего
[
...[1, 2],
null,
]
[1, 2, null]
для предотвращения использования нулевого значения...?
var resultingList = [
...[1, 2],
...?subjectList,
];
Нет абсолютно никакой разницы . Checkout Реализация HttpContext.Current.Request.IsAuthenticated:
public bool IsAuthenticated
{
get
{
return (((this._context.User != null) &&
(this._context.User.Identity != null)) &&
this._context.User.Identity.IsAuthenticated);
}
}