Vag*_*gue 0 c# c#-6.0 entity-framework-core
我想使用Null-Conditional运算符来检查SubscriptionExpires下面的属性.
public partial class Subscription
{
[Key]
public int SubscriptionId { get; set; }
public string SubscriberId { get; set; }
public DateTime? SubscriptionExpires { get; set; }
public virtual ICollection<ApplicationUser> Users { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
订阅由返回
var subscription = _customersContext.Subscriptions.Where(s => s.SubscriptionId == user.SubscriptionId).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
但是如果Subscription为null,则Subscription?.SubscriptionExpires返回a null reference exception,所以我们仍然保留旧的
if (subscription != null)
Run Code Online (Sandbox Code Playgroud)
当父对象可以为null时,如何使用Null-Conditional运算符来读取属性?
当父对象可以为null时,如何使用Null-Conditional运算符来读取属性?
你就像你一样做Subscription?.SubscriptionExpires.这不会抛出NullReferenceException,但会返回DateTime?.如果您尝试使用该DateTime?值,那么您将获得异常.所以这不会抛出:
var expiration = Subscription?.SubscriptionExpires;
Run Code Online (Sandbox Code Playgroud)
但这可能:
DateTime? expiration = Subscription?.SubscriptionExpires;
DateTime expiration.Value;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
943 次 |
| 最近记录: |