如何将字符串转换为Guid

本文关键字:Guid 转换 字符串 | 更新日期: 2024-10-19 04:07:02

我有一个字符串变量,它正在接收Guid。我需要将此字符串转换回Guid,因为数据库字段的类型为Guid

我尝试使用:

Guid myGuid = Guid.Empty;;
myGuid = Guid.Parse(myId);

但是继续得到Format Exception; Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

以下是我的代码:

 public string addVehicleDetails(string vname, string vtype, string regNumber, string ftype, string fefficiency, string insby, DateTime datecreated, string myId)
        {
            string result = string.Empty;
            tblVehicleDetail myVehicleDetails = new tblVehicleDetail();
          //  Guid myGuid = Guid.Empty;
            System.Guid myGuid = new Guid(myId);
           // myGuid = Guid.Parse(myId);
            try {
               // Add details into vehicle details
                myVehicleDetails.VehicleName = vname;
                myVehicleDetails.VehicleType = vtype;
                myVehicleDetails.RegistrationNumber = regNumber;
                myVehicleDetails.FuelType = ftype;
                myVehicleDetails.FuelEfficiency = fefficiency;
                myVehicleDetails.InsuranceBy = insby;
                myVehicleDetails.DateCreated = datecreated;
                myVehicleDetails.Guid = myGuid;
                dc.tblVehicleDetails.InsertOnSubmit(myVehicleDetails);
                dc.SubmitChanges();
                return result = vname;
            }
            catch(Exception exp)
            {
                exp.ToString();
                return result = "Error in Adding Vehicle Details.";
            }
        }

有什么解决方案吗?

如何将字符串转换为Guid

此格式异常告诉您的输入(String myId)不是可识别的格式。

您应该清楚地处理异常,因为您的输入字符串格式不正确,所以请使用Guid.TryParse(如果输入为null或不是可识别的格式,则此方法返回false,并且不会引发异常。)。

还要检查Guid.TryParseExact方法。

  myGuid = Guid.Parse(myId); 
  if (Guid.TryParse(myId, out newGuid))
    {
     try 
      { 
       myVehicleDetails.DateCreated = datecreated; 
       myVehicleDetails.Guid = myGuid; 
       dc.tblVehicleDetails.InsertOnSubmit(myVehicleDetails); 
       dc.SubmitChanges(); 
       } 
     }
     else
      {
        //Input string is not in correct format
      }