object objTest;
위의 변수가 있다고 가정을 합니다.
실은 objTest에 string올지, int가 올지, null올지 모르는 상황입니다.
위의 오브젝트 변수를 문자열로 취득하기 위해서는 변환해서 취득해야 할텐데요.
여기서 궁금한게 있는데요.
① string strTest = Convert.ToString(objTest);
② string strTest = (string)objTest;
③ string strTest = objTest.ToStriing();
위의 세가지 방법을 사용 가능한걸로 알고 있습니다만,
이 세가지 방법의 차이점을 알고 싶습니다.
예를 들어서 objTest값이 null이라면
①의 경우는 strTest에는 공백문자("")이 들어오고,
②의 경우는 strTest에 null이 그대로 들어오고,
③의 경우는 예외가 발생하는걸로 알고 있습니다...
만, 단지 위의 세가지 이유만 있는것인지요.
그리고 또 한가지 궁금한게 있는데요.
string strA = "a";
string strB = "b";
의 두개의 string 변수가 있을 때 위의 값을 비교 하기 위해서
strA.Equals(strB)를 사용하는것과,
strA == strB 를 사용하는것과 무슨 차이가 있는지 궁금합니다.
Equals 메소드를 보면 object와 string와의 비교시에는 박싱,언박싱이 일어나는것은 예상 가능합니다만,
위의 예처럼 둘 다 string일 경우에도 박싱, 언박싱이 발생하는지
, 아니면 오버로드에 의해 박싱,언박싱이 발생하지 않는지 궁금합니다.
기본적인것 같지만, 도저히 궁금해서요...
고수분들의 손길을 기다리겠습니다.
감사합니다.
그럼...
꾸벅~!!!