【发布时间】:2019-06-11 03:24:40
【问题描述】:
我知道有Guid? 和Nullable<Guid> 这样的东西。我有这段代码,它可以编译:
public Contact GetContact(Guid contactId)
{
if (contactId == null)
{
throw new ArgumentNullException(nameof(contactId));
}
return _communicationsDbContext.Set<Contact>().Find(contactId);
}
“contactId == null”可以是真的吗?
【问题讨论】:
-
不,它不能。事实上,当你编译时,你会得到一个警告告诉你
-
顺便说一下,
Guid?是Nullable<Guid>的简写 -
当你尝试设置
contactId = null;时发生了什么? -
我尝试了 Gnbrkm41 所说的。编译器只是删除了那行代码。
-
我在问一个 Guid 是否可以为空? (我不是在问如何使它可以为空)。我问的原因是因为编译器没有抱怨代码。