我正在尝试将字符串解析为可为空的guid。根据TryParse结果,可为null的guid应存储值或为null。
private Guid? GetData()
{
string carName = "Volvo";
Guid? data = Guid.TryParse(carName, out data) ? (Guid?)data : null;
return data;
}
我在带有消息的输出数据上遇到编译时错误
您需要使用不同的变量名:
Guid? data = Guid.TryParse(carName, out Guid _data) ? (Guid?)_data : null;
目前,您使用data
Guid?
)和out
参数(需要是Guid
,而不是Guid?
)。
让我们把它变得简单、合乎逻辑、可读
if (Guid.TryParse(carName, out Guid g)
return g;
return null;
如果有三条线打扰你
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;
}