2013-05-24 3 views
8

입력 문자열에서 GUID를 생성하고 싶습니다. 이 전 guid 형식이 아닌 문자열에서 GUID 생성

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

그래서 내가 할 수있는 사용자로부터받은 GUID 있다고 가정 해 봅시다 : 것입니다

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

성공적으로 구문 분석 할 수 있습니다.

그러나 사용자의 인생을 더 쉽게 입력 할 수 있도록 방법 : 대시없이

81a130d2502f4cf1a37663edeb000e9f 

을, 여전히 GUID의 변환합니다.

동일한 메소드를 사용하려고하면 guid 형식의 누락 된 부분에 대해 예외가 발생합니다.

아이디어가 있으십니까?

+3

읽을 수없는 끔찍한 양의 16 진수 (GUID)를 입력하는 것이 실제로 사용자의 삶을 개선하는 방법은 무엇입니까? 나는 정말로 이것을 의심하고 있습니다 ... –

+0

글쎄, 사용자는이 포맷으로 자신의 장치의 GUID를 얻을 것이라고 쓰고 있습니다. 81a130d2502f4cf1a37663edeb000e9f. 그런 다음 사용자가 다른 텍스트 상자에이 값을 다시 입력해야하므로 어떤 위치에 대시가 삽입되어야하는지 계산하지 않아야합니다. – inside

+0

이 형식을 사용해야하는 내 앱의 디자인이 다릅니다. – inside

답변

17

ParseExact 방법을 사용

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

감사합니다. – inside

4

보십시오 : 대신 받아들이는 Guid 생성자의 오버로드를 사용할 수있다 (두 번째 인수로 "N"와) ParseExact에 추가

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

MSDN 링크를 제공해 주셔서 감사합니다. – sobelito

11

을 문자열. 대시없이 값을 지정할 수 있습니다.

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

허용 된 답변보다 기억하기가 쉽습니다! –