如何检查传入的无效guid参数

时间:2013-03-15 16:11:06

标签: c# guid

我正在尝试创建一些测试数据,并且我想向用户返回错误消息,传入的guid格式不是有效格式 - 如何应用此示例将很好

我使用的正确guid格式:

Guid user = new Guid("FF2214F8-5393-4B5A-B1CA-3620F85D9131");

无效的guid,我传入测试,并希望向用户返回一条消息,通知而不是破坏:

Guid user2 = new Guid("UserName");

我用来传入的方法:

public void UserName(user2)
{
....  
}

2 个答案:

答案 0 :(得分:11)

如果我理解正确user2是您想要测试的Guid,那么请尝试Guid.TryParse

   Guid result;
    if(Guid.TryParse(user2, out result))
    {
    //success (result variable has been assigned the Guid value)
    }
    else
    {
    //error
    }

编辑:根据您的评论,我了解问题是您将该方法传递给无效的Guid,因此当您创建要传递给该方法的变量时会发生异常方法作为参数。这有帮助吗?

Guid user2; 
if(Guid.TryParse("UserName", out user2))
{
 UserName(user2)
}
else
{
//do whatever you need to report the error
}

我不知道你在哪里获得" UserName"但这里的重点是,无论您何时尝试从字符串创建Guid并且您不确定该字符串是否有效,您需要使用Guid.TryParse方法

答案 1 :(得分:2)

使用Guid.TryParse方法

Guid userGuid;
if (Guid.TryParse(user2, out userGuid))
{
   // Do something with the guid
}
else
{
   //throw exception...
}