2013-05-24 21 views
8

入力文字列からGUIDを生成したいとします。首尾よく解析するために起こっているguid形式ではない文字列からGUIDを生成

Guid g = Guid.Parse("81a130d2-502f-4cf1-a376-63edeb000e9f"); 

:のは、私は

81a130d2-502f-4cf1-a376-63edeb000e9f 

ので、私にできることで、ユーザから受信したGUIDをしているとしましょう。

しかし、どのようにユーザーの生活を楽にして入力できるようにする:

81a130d2502f4cf1a37663edeb000e9f 

ダッシュなしで、まだGUIDに変換しています。

私は同じメソッドを使用しようとすると、guid形式の破線で不平を言って例外がスローされます。

アイデア?

+3

はどのように入力する進文字(GUID)は、実際のユーザーの生活を向上させるの読めない恐ろしい量を持つのだろうか?私は本当にこれを本当に疑う... –

+0

私はユーザーがこのフォーマット81a130d2502f4cf1a37663edeb000e9fで自分のデバイスのGUIDを取得するアプリケーションでは、よく、ユーザーは別のテキストボックスにこの値を入力する必要があります。そのため、ダッシュを挿入する位置を数えないようにしてください。 – inside

+0

これは私のアプリケーションのデザインが異なるだけです。 – inside

答えて

17

ParseExact方法を使用し

Guid.ParseExact("81a130d2502f4cf1a37663edeb000e9f", "N"); 
+0

ありがとう!!! – inside

4

してみてください、あなたの代わりに受け入れGuidコンストラクタのオーバーロードを使用することができます(2番目の引数として"N"で)ParseExactに加えて

Guid.ParseExact("81a130d2502f4cf1a37663edeb000e9f","N") 
+0

MSDNリンクをありがとう。 – sobelito

11

ザ・を文字列;ダッシュを付けずに値を指定することもできます。

Guid g = new Guid("81a130d2502f4cf1a37663edeb000e9f"); 
+0

受け入れられた答えよりも覚えやすい! –