将Guid转换为可空Guid

15

这是将 Guid 转换为 Guid 的惯用方式吗?

new Guid?(new Guid(myString));
2个回答

27
不,这是:
Guid? foo = new Guid(myString);

TNullable<T> 存在隐式转换 - 你不需要做任何特殊处理。如果你不在隐式转换可行的情况下(例如,你试图调用一个既有可空类型又有非可空类型重载的方法),你可以进行强制转换:

(Guid?) new Guid(myString)

Guid 没有 Parse 或 TryParse 方法,这很奇怪。 - kͩeͣmͮpͥ ͩ
2
@David:它们将在.NET 4中推出,迟到总比没有好!http://msdn.microsoft.com/en-us/library/system.guid_members%28VS.100%29.aspx - LukeH
五年后:什么?曾经有一段时间,Guids 没有 Parse 或 TryParse 吗?你是怎么活下来的?我一直都在使用它! - C. Tewalt

4

只需进行强制转换:(Guid?)(new Guid(myString))

还有一种隐式转换,所以这也可以正常工作: Guid? g = new Guid(myString);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接