자료의 형태를 변환할 때 사용
int -> float
int iTen = 10;
float fTen = (float)iTen; //10.0f
float -> int
float fFive = 5.5f;
int iFive = (int)fFive; // 5
데이터의 손실이 없는 경우라면 앞에 괄호로 형태를 명시하지 않더라도 형변환(Casting)이 가능하다.
- float 10.5f를 int 10으로 바꾸려면 0.5의 값이 사라지기 때문에 명시해야 한다
- int 10을 float 10.0f로 바꾸려면 누락될 값이 없으므로 그냥 사용해도 된다.
int iTen = 10; float fTen = iTen; // 10.0f
간단하게 뒤에 .ToString()을 붙이면 변환할 수 있다.
int i = 10;
float f = 0.5f;
bool b = true;
string strI = i.ToString(); // "10"
string strF = f.ToString(); // "0.5"
string strB = b.ToString(); // "true"
string iStr = "10";
int i;
i = Convert.ToInt32(iStr); // i : 10
string bStr = "true";
bool b;
b = Convert.ToBoolean(bStr); // b : true

string iStr = "10";
int i;
i = int.Parse(iStr); // i : 10
string bStr = "true";
bool b;
b = bool.Parse(bStr); // b : true
에러 발생
Convert와 Parse()는 반환할 수 없는 값일 때 문제가 발생string iStr = "10test"; int i; i= Convert.ToInt32(iStr); // i : ??? 에러 발생string bStr = "test"; bool b; b = bool.Parse(bStr); // b : ???? 에러 발생이런 에러를 방지하기 위해 TryParse() 함수를 사용하면 좋다.
TryParse() 함수는 반환값으로 반환한 값을 받지 않는다.
TryParse() 함수의 반환값은 bool형으로 반환의 성공 여부를 알려준다.
string iStr = "10";
int i;
bool isSuccess;
isSuccess = int.TryParse(iStr, out i); // isSuccess : true
string bStr = "test";
bool b;
bool isSuccess;
isSuccess = int.TryParse(bStr, out b); // isSuccess : false
+반환을 성공하면 out 뒤의 변수에 반환한 값을 저장하고 실패하면 0을 반환한다.
string iStr = null;
int iConvert = Convert.ToInt32(iStr); // 0
int iParse = int.Parse(iStr); // 예외 처리