На этот вопрос уже есть ответ здесь:
Почему приведение (к System.Guid) type) недопустим (вторая строка в блоке try)?
Например, предположим, что у меня есть строка со значением «5DD52908-34FF-44F8-99B9-0038AFEFDB81». Я хотел бы преобразовать это в GUID. Разве это невозможно?
Guid ownerIdGuid = Guid.Empty;
try
{
string ownerId = CallContextData.Current.Principal.Identity.UserId.ToString();
ownerIdGuid = (Guid)ownerId;
}
catch
{
// Implement catch
}