![](/img/trans.png)
[英]Cannot convert from 'System.Guid' to '<anonymous type: System.Linq.IQueryable<System.Guid> TemplateReviewId>
[英]Cannot convert from out System.Guid? to System.Guid
我正在尝试将字符串解析为可为空的 guid。 根据 TryParse 结果,可为空的 guid 应存储值或为 null。
private Guid? GetData()
{
string carName = "Volvo";
Guid? data = Guid.TryParse(carName, out data) ? (Guid?)data : null;
return data;
}
我收到带有消息的out data
的编译时错误
无法从 System.Guid 转换? 到 System.Guid
您需要使用不同的变量名:
Guid? data = Guid.TryParse(carName, out Guid _data) ? (Guid?)_data : null;
目前,您将data
用于两者
Guid?
)和TryParse
的out
参数(需要是Guid
,而不是Guid?
)。让它简单、合乎逻辑、可读
if (Guid.TryParse(carName, out Guid g)
return g;
return null;
如果 3 行打扰你
return Guid.TryParse(carName, out Guid g) ? g : (Guid?)null;
最好不要在一行中做这么多。 这将使其更易于阅读和理解。
private Guid? GetData()
{
string carName = "Volvo";
// First try to parse the string into a guid
var canParse = Guid.TryParse(carName, out var data);
// Return either the converted value or null
return canParse ? data : null;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.