다음 코드를 고려하십시오.기본 GUID 서식 지정
는var guid = Guid.NewGuid();
var a = guid.ToString();
var b = guid.ToString("N");
a
의 값은 7c9e6679-7425-40de-944b-e07fc1f90ae7
것 같습니다.
b
의 값은 7c9e6679742540de944be07fc1f90ae7
입니다.
.NET에 두 번째 형식을 알려주는 방법이 있습니까? 형식 문자열 N
이 기본적으로 필요합니까?
다른 유형의 ToString
(예 : DateTime
)에 대한 기본 동작은 현재 문화권에 묶여 있습니다. Guid
의 기본 동작이 비슷한 방식으로 문화권에 묶여있는 것일 수 있습니까? (의심 스럽네요.)
호환성을 위해 코드베이스에서 대시가없는 GUID 문자열 표현이 표준이되어야하지만 아무런 경고없이 N
매개 변수를 잊어 버리는 것은 매우 쉽습니다.
이 방법이 효과가 있을지는 모르겠지만 시도해 볼만합니다. http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.numberformat(v=vs.110).aspx – Paparazzi
'Guid'는'IFormattable' 타입이지만'IFormatProvider'는 "전체"오버로드 ['ToString (string, IFormatProvider)'] (http://msdn.microsoft.com/en-us/library/s6tk2z69.aspx)는 무시됩니다. 인용구 : *'provider' 매개 변수는 나중에 사용하기 위해 예약되어 있으며이 메서드의 실행에 기여하지 않습니다. 메서드 호출에서 null을 전달할 수 있습니다. * –
@Blam'Guid.ToString()'은 사용자 정의 형식 공급자를 무시합니다. –