Convert.ToString()
과 의 차이점은 무엇입니까 .ToString()
?
온라인에서 많은 차이점을 발견했지만 가장 큰 차이점은 무엇입니까?
답변
Convert.ToString()
핸들 null
, 동안은 ToString()
하지 않습니다.
답변
ToString()
객체에 대한 호출 은 객체가 null이 아니라고 가정합니다 (객체가 인스턴스 메서드를 호출하려면 존재해야하기 때문). Convert.ToString(obj)
(이 변환 클래스에 정적의 방법으로), 대신 반환 객체를 추정 할 필요가 없습니다 것은 null는 아니고, String.Empty
이 경우 입니다 NULL을.
답변
null
값 처리에 대한 다른 답변 외에도 Convert.ToString
사용을 시도 IFormattable
하고IConvertible
base를 호출하기 전에 인터페이스Object.ToString
.
예:
class FormattableType : IFormattable
{
private double value = 0.42;
public string ToString(string format, IFormatProvider formatProvider)
{
if (formatProvider == null)
{
// ... using some IOC-containers
// ... or using CultureInfo.CurrentCulture / Thread.CurrentThread.CurrentCulture
formatProvider = CultureInfo.InvariantCulture;
}
// ... doing things with format
return value.ToString(formatProvider);
}
public override string ToString()
{
return value.ToString();
}
}
결과:
Convert.ToString(new FormattableType()); // 0.42
new FormattableType().ToString(); // 0,42
답변
이 예제를 통해 차이점을 이해하겠습니다.
int i= 0;
MessageBox.Show(i.ToString());
MessageBox.Show(Convert.ToString(i));
우리는 정수를 변환 할 수 있습니다 i
사용 i.ToString ()
하거나 Convert.ToString
. 그렇다면 차이점은 무엇입니까?
그들 사이의 기본적인 차이점은 Convert
함수는 NULLS를 처리하지만 i.ToString ()
그렇지 않다는 것입니다. NULL 참조 예외 오류가 발생합니다. 따라서 좋은 코딩 연습 convert
은 항상 안전합니다.
답변
클래스를 만들고 toString
원하는 작업을 수행 하도록 메서드를 재정의 할 수 있습니다.
예를 들어 “MyMail” 클래스를 만들고 toString
메서드를 재정 의하여 현재 개체를 작성하는 대신 전자 메일을 보내거나 다른 작업을 수행 할 수 있습니다.
는 Convert.toString
동등한 지정된 값을 문자열 표현으로 변환한다.
답변
object o=null;
string s;
s=o.toString();
//returns a null reference exception for string s.
string str=convert.tostring(o);
//returns an empty string for string str and does not throw an exception.,it's
//better to use convert.tostring() for good coding
답변
메서드는 null 처리를 제외하고 “기본적으로”동일 합니다.
Pen pen = null;
Convert.ToString(pen); // No exception thrown
pen.ToString(); // Throws NullReferenceException
MSDN에서 :
Convert.ToString 메서드
지정된 값을 해당하는 문자열 표현으로 변환합니다.
현재 개체를 나타내는 문자열을 반환합니다.