Type
은 C#에서 값 유형을 어떻게 찾을 수 있습니까?결정 방법 값 유형 유형
string str;
int value;
double doubleValue;
이 값 유형 중 하나의 유형을 반환하는 방법이있다 :
이의 내가 있다고 가정 해 봅시다? 이 같은명확하게하기 위해, 내가 노력하고 뭔가 :
string str = "Hello";
string typeOfValue = <call to method that returns the type of the variable `str`>
if (typeOfValue == "string") {
//do something
} else {
//raise exception
}
내가 사용자의 입력을 얻고 입력 된 값이 내 조건에 따라 string
또는 int
또는 double
없는 경우 예외를 발생하려면 .
가 나는 시도했다 :
이public class Test
{
public static void Main(string[] args)
{
int num;
string value;
Console.WriteLine("Enter a value");
value = Console.ReadLine();
bool isNum = Int32.TryParse(value, out num);
if (isNum)
{
Console.WriteLine("Correct value entered.");
}
else
{
Console.WriteLine("Wrong value entered.");
}
Console.ReadKey();
}
}
하지만 검사 할 값의 유형이 string
또는 뭔가 다른 어떤 경우?
'Object.GetType' ?! 그러나 명확하지는 않지만 사용자는 문자열 만 입력 할 수 있습니다. 따라서 유형은 항상 문자열입니다. 숫자 형식으로 구문 분석하면 컴파일 타임에 이미 형식을 알고 있습니다. –
'문자열'은 값 유형이 아닙니다. – Habib
여기 * 왜 * 필요하지는 않습니다. 이것은'Object'가있는 경우에 유용 할 수 있습니다. 그러나 콘솔에서 읽은 문자열은 문자열이며, 구문 분석하지 않으면 아무것도 없습니다. 그런 다음 구문 분석 결과는 그 시점에서 알려진 유형입니다. – crashmstr