이벤트
3월 17일 오후 9시 - 3월 21일 오전 10시
모임 시리즈에 참여하여 동료 개발자 및 전문가와 함께 실제 사용 사례를 기반으로 확장 가능한 AI 솔루션을 빌드합니다.
지금 등록문자열이 지정된 숫자 형식의 유효한 표현인지 확인하려면 모든 기본 숫자 형식 및 DateTime, IPAddress 등의 형식에 의해서도 구현되는 정적 TryParse
메서드를 사용합니다. 다음 예제에서는 "108"이 유효한 int인지 확인하는 방법을 보여 줍니다.
int i = 0;
string s = "108";
bool result = int.TryParse(s, out i); //i now = 108
문자열이 숫자가 아닌 문자를 포함하거나, 숫자 값이 지정한 특정 형식에 비해 너무 크거나 너무 작은 경우 TryParse
는 false를 반환하고 out 매개 변수를 0으로 설정합니다. 그렇지 않으면 true를 반환하고 out 매개 변수를 문자열의 숫자 값으로 설정합니다.
참고
문자열이 숫자만 포함해도 사용하는 TryParse
메서드의 형식에 유효하지 않을 수도 있습니다. 예를 들어 "256"은 byte
에 유효한 값이 아니지만 int
에는 유효합니다. "98.6"은 int
에 유효한 값이 아니지만 유효한 decimal
입니다.
다음 예제에서는long
, byte
및 decimal
값의 문자열 표현과 함께 TryParse
를 사용하는 방법을 보여 줍니다.
string numString = "1287543"; //"1287543.0" will return false for a long
long number1 = 0;
bool canConvert = long.TryParse(numString, out number1);
if (canConvert == true)
Console.WriteLine("number1 now = {0}", number1);
else
Console.WriteLine("numString is not a valid long");
byte number2 = 0;
numString = "255"; // A value of 256 will return false
canConvert = byte.TryParse(numString, out number2);
if (canConvert == true)
Console.WriteLine("number2 now = {0}", number2);
else
Console.WriteLine("numString is not a valid byte");
decimal number3 = 0;
numString = "27.3"; //"27" is also a valid decimal
canConvert = decimal.TryParse(numString, out number3);
if (canConvert == true)
Console.WriteLine("number3 now = {0}", number3);
else
Console.WriteLine("number3 is not a valid decimal");
또한 기본 숫자 형식은 문자열이 유효한 숫자가 아닌 경우 예외를 throw하는 Parse
정적 메서드를 구현합니다. 일반적으로 숫자가 유효하지 않은 경우 단순히 false를 반환하는 TryParse
가 더 효율적입니다.
항상 TryParse
또는 Parse
메서드를 사용하여 텍스트 상자, 콤보 상자 등의 컨트롤에서 들어오는 사용자 입력의 유효성을 검사합니다.
.NET 피드백
.NET은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.
이벤트
3월 17일 오후 9시 - 3월 21일 오전 10시
모임 시리즈에 참여하여 동료 개발자 및 전문가와 함께 실제 사용 사례를 기반으로 확장 가능한 AI 솔루션을 빌드합니다.
지금 등록학습