문자열을 Guid로 변환하는 방법
Guid에 대한 TryParse 메소드를 찾지 못했습니다. 다른 사람들이 문자열 형식의 guid를 guid 유형으로 변환하는 방법을 궁금합니다.
Guid Id;
try
{
Id = new Guid(Request.QueryString["id"]);
}
catch
{
Id = Guid.Empty;
}
new Guid(string)
를 사용하여 볼 수도 있습니다
TypeConverter
.
다음과 같은 코드를 사용하십시오.
new Guid("9D2B0228-4D0D-4C23-8B49-01A698857709")
"9D2B0228-4D0D-4C23-8B49-01A698857709"대신 문자열 값을 설정할 수 있습니다
Guid.TryParse()
https://msdn.microsoft.com/de-de/library/system.guid.tryparse(v=vs.110).aspx
또는
Guid.TryParseExact()
https://msdn.microsoft.com/de-de/library/system.guid.tryparseexact(v=vs.110).aspx
.NET 4.0 (또는 3.5?)
이것은 당신을 꽤 가깝게 만들 것이고, 나는 그것을 프로덕션 환경에서 사용하며 결코 충돌하지 않았습니다. 그러나 리플렉터에서 guid의 생성자를 보면 모든 확인 사항이 표시됩니다.
public static bool GuidTryParse(string s, out Guid result)
{
if (!String.IsNullOrEmpty(s) && guidRegEx.IsMatch(s))
{
result = new Guid(s);
return true;
}
result = default(Guid);
return false;
}
static Regex guidRegEx = new Regex("^[A-Fa-f0-9]{32}$|" +
"^({|\\()?[A-Fa-f0-9]{8}-([A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12}(}|\\))?$|" +
"^({)?[0xA-Fa-f0-9]{3,10}(, {0,1}[0xA-Fa-f0-9]{3,6}){2}, {0,1}({)([0xA-Fa-f0-9]{3,4}, {0,1}){7}[0xA-Fa-f0-9]{3,4}(}})$", RegexOptions.Compiled);
불행히도 TryParse ()에 해당하는 것은 없습니다. System.Guid의 새 인스턴스를 만들고 문자열 값을 전달하면 유효하지 않은 경우 발생하는 3 가지 예외를 포착 할 수 있습니다.사람들은:
- ArgumentNullException
- FormatException
- OverflowException
인스턴스의 유효성을 검사하고 생성하지 않으려는 경우 인스턴스를 만들기 전에 문자열에서 정규식을 수행 할 수있는 구현을 보았습니다.
원하는 것이 매우 기본적인 오류 검사라면 문자열의 길이를 확인할 수 있습니다.
string guidStr = "";
if( guidStr.Length == Guid.Empty.ToString().Length )
Guid g = new Guid( guidStr );
참고 URL :
https://stackoverflow.com/questions/350500/how-to-try-convert-a-string-to-a-guid
'IT박스' 카테고리의 다른 글
n 일보다 오래된 디렉토리를 삭제하는 쉘 스크립트 (0) | 2020.06.10 |
---|---|
jQuery는 선택된 옵션 값을 얻는다 (텍스트가 아니라 속성 'value') (0) | 2020.06.10 |
클래스 조각 팽창 오류 (0) | 2020.06.10 |
DOM에 데이터 속성 추가 (0) | 2020.06.10 |
GitHub-github 443 창에 연결하지 못했습니다 / gitHub에 연결하지 못했습니다-오류 없음 (0) | 2020.06.10 |