我使用c#asp.net 4。
我需要从String创建一个Guid。字符串可以是正确的格式(因此可以创建Guid)或以不接受的格式 - 在这种情况下,我需要将变量isGuid
设置为false。
目前我使用这种方法。正如您所看到的,我使用Try Catch驱动逻辑。
我想知道你是否知道更好的方法来执行此操作,说实话我不确定在这里使用或尝试捕获是否合适。
PS:如果你认为我的Q的标题不合适,请告诉我我会改变它。谢谢! PS2:如果你知道一种更好的语法形式,请告诉我在编码方面我很陌生。 string filename;
bool isGuid;
Guid guid;
try
{
guid = new Guid(filename);
isGuid = true;
}
catch
{
isGuid = false;
}
if(isGuid)
// Do smt here!
答案 0 :(得分:4)
如果您使用的是.NET 4,则可以使用Guid.TryParse
:
Guid guid;
bool valid = Guid.TryParse(text, out guid);
答案 1 :(得分:3)
Guid.TryParse可从.NET 4获得:
if (Guid.TryParse(stringGuid, out newGuid))
Console.WriteLine("Converted {0} to a Guid", stringGuid);
否则(3.5或更早),我建议的最好的方法是使用你已有的代码 - 为了避免异常,你必须实现几乎所有的Guid.Parse
方法。