【发布时间】:2019-03-24 18:35:28
【问题描述】:
如果在列表中找不到元素,我需要返回 null,但它返回一个空的 guid。
mappedTypes.Where(x => x.ReferenceId == new Guid("1a087b71-638c-4f3c-b1cf-3b0438c181c0")).Select(x=>x.MappingId).FirstOrDefault()
此查询仅返回 '00000000-0000-0000-0000-000000000000' - 我想返回 null - 或单个 guid 值(如果存在)。
【问题讨论】:
-
您可以使用
?.来检查null,如下所示:mappedTypes.FirstOrDefault(a => a.ReferenceId ==new Guid("1a087b71-638c-4f3c-b1cf-3b0438c181c0"))?.MappingId; -
FirstOrDefault() 导致它。 Guid 的默认值是一个空的 guid。您的查询预计至少返回一条记录,但它根本没有可以返回的记录,因此它是默认的。这实际上是你要求它做的。