Guid Costructor - Как создать Guid, проверяющий, что переданная строка имеет правильный формат - PullRequest
0 голосов
/ 17 ноября 2011

Я использую c # asp.net 4.

Мне нужно создать Guid из строки. Строка может быть в правильном формате (чтобы можно было создать Guid) или в непринятом формате - в этом случае мне нужно установить переменную isGuid в значение false.

В данный момент я использую этот подход. Как вы можете видеть, я управляю логикой, используя Try Catch.

Я хотел бы знать, если вы знаете лучший способ выполнить эту операцию, если честно, я не уверен, что здесь уместно использование или 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!

Ответы [ 2 ]

4 голосов
/ 17 ноября 2011

Если вы используете .NET 4, вы можете использовать Guid.TryParse:

Guid guid;
bool valid = Guid.TryParse(text, out guid);
3 голосов
/ 17 ноября 2011

Guid.TryParse доступен в .NET 4:

if (Guid.TryParse(stringGuid, out newGuid))
        Console.WriteLine("Converted {0} to a Guid", stringGuid);

В противном случае (3.5 или более ранней версии) лучшее, что я мог бы порекомендовать, это использовать уже имеющийся код - чтобы избежать исключения, вам все равно придется реализовать почти весь метод Guid.Parse.

...