【发布时间】:2021-12-09 13:04:05
【问题描述】:
我正在尝试将字符串解析为可为空的 guid。根据 TryParse 结果,可为空的 guid 应存储值或为空。
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 var parsed) ? parsed : null; -
TryParse 方法不接受第二个参数作为可空类型,因此您需要先解析一个特定的参数,然后在您的条件下使用它:
Guid? data = Guid.TryParse(carName, out Guid outputData) ? outputData : null; -
@yemo
var无论如何都会推断出类型为Guid。