이것은 Siir가 제안한 솔루션의 수정 된 버전입니다. 확장 메서드를 추가하는 것이 호출 메서드의 재사용과 단순성을위한 최상의 솔루션이라는 것을 알았습니다.
public static bool IsNumeric(this String s)
{
try { double.Parse(s); return true; }
catch (Exception) { return false; }
}
두 줄에 맞도록 메서드 본문을 수정하고 불필요한 .ToString () 구현을 제거했습니다. 확장 메서드에 익숙하지 않은 사람들을 위해 다음을 구현하는 방법이 있습니다.
ExtensionMethods 라는 클래스 파일을 만듭니다 . 이 코드를 붙여 넣으십시오.
using System;
using System.Collections.Generic;
using System.Text;
namespace YourNameSpaceHere
{
public static class ExtensionMethods
{
public static bool IsNumeric(this String s)
{
try { double.Parse(s); return true; }
catch (Exception) { return false; }
}
}
}
YourNameSpaceHere 를 실제 네임 스페이스 로 바꿉니다 . 변경 사항을 저장하다. 이제 앱의 어디에서나 확장 방법을 사용할 수 있습니다.
bool validInput = stringVariable.IsNumeric();
참고 :이 메서드는 정수와 소수에 대해 true를 반환하지만 문자열에 쉼표가 포함되어 있으면 false를 반환합니다. 쉼표 나 "$"와 같은 기호로 입력을 받아들이려면 먼저 해당 문자를 제거한 다음 IsNumeric인지 테스트하는 방법을 구현하는 것이 좋습니다.