[c#] C #에서 문자열을 정수로 변환하는 방법

C #에서 문자열을 정수로 어떻게 변환합니까?



답변

올바르게 구문 분석 할 것이라고 확신하는 경우

int.Parse(string)

그렇지 않은 경우

int i;
bool success = int.TryParse(string, out i);

주의! 아래의 경우 iTryParse.

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);