C #에서 문자열을 정수로 어떻게 변환합니까?
답변
올바르게 구문 분석 할 것이라고 확신하는 경우
int.Parse(string)
그렇지 않은 경우
int i;
bool success = int.TryParse(string, out i);
주의! 아래의 경우 i
는 TryParse
.
int i = 10;
bool failure = int.TryParse("asdf", out i);
이는 ref 매개 변수가 아닌 out 매개 변수를 TryParse
사용 하기 때문 입니다.
답변
int myInt = System.Convert.ToInt32(myString);
몇 가지 다른 언급 한 것처럼, 당신은 또한 사용할 수 있습니다 int.Parse()
와 int.TryParse()
.
string
이 항상 다음과 같다고 확신하는 경우 int
:
int myInt = int.Parse(myString);
string
실제로 int
첫 번째 인지 확인하려면 :
int myInt;
bool isValid = int.TryParse(myString, out myInt); // the out keyword allows the method to essentially "return" a second value
if (isValid)
{
int plusOne = myInt + 1;
}
답변
int a = int.Parse(myString);
또는 더 나은 방법은 int.TryParse(string)
답변
string varString = "15";
int i = int.Parse(varString);
또는
int varI;
string varString = "15";
int.TryParse(varString, out varI);
int.TryParse
다른 것을 넣으면 varString
(예 : “fsfdsfs”) 예외가 발생 하므로 더 안전 합니다. int.TryParse
문자열을 int로 변환 할 수 없을 때 사용 하면 0
.
답변
문자열에 “실제”숫자가 있다고 확신하거나 발생할 수있는 예외에 익숙하다면 이것을 사용하십시오.
string s="4";
int a=int.Parse(s);
프로세스를 좀 더 제어하려면
string s="maybe 4";
int a;
if (int.TryParse(s, out a)) {
// it's int;
}
else {
// it's no int, and there's no exception;
}
답변
다음과 같이하십시오.
var result = Int32.Parse(str);
답변
int i;
string whatever;
//Best since no exception raised
int.TryParse(whatever, out i);
//Better use try catch on this one
i = Convert.ToInt32(whatever);