2011-09-03 1 views
7

가능한 중복 :C#에서 Convert.ToString()과 .ToString()의 차이점은 무엇입니까?

C#에서 Convert.ToString()와로 .toString()의 차이점은 무엇입니까
variable.ToString() vs. Convert.ToString(variable)?

dataRow[i]을 ToString()을 사용하여 문자열로 변환하면 오류가 발생합니다. 이 문제를 어떻게 해결할 수 있습니까? 그 사이에 간단하지만 중요한 차이가 있습니다

+0

dr [0]의 유형은 무엇입니까? –

+0

내가 아는 한,'Tostring()'도'tostring()'도 존재하지 않는다. C#은 대소 문자를 구분합니다. 'ToString'을 참조하고 있습니까? 아니면 다른 사용자 정의 함수가 있습니까? 오류의 원인이되는 소스 코드를 표시하고 오류를 표시하십시오. –

+0

'DbNull'의 "issue"가있을 수도 있습니다 (이것은'null'이 아닙니다); 'IsNull (col)'을 사용해야 할 수도 있습니다. 그렇지 않으면 인덱스 ('[col]')가 IIRC를 실패 할 수 있습니다. 어쨌든 * 관련 정보를 입력하십시오 : "오류 발생"은 "작동하지 않음"만큼 유용합니다. –

답변

8

...

ToString() 객체가 null의 경우

그래서는 Object.toString()의 경우, 그것은 인상 객체가 null의 경우 예외를 발생 NullReferenceException입니다.

Convert.ToString()의 null 오브젝트의 경우 String.Empty로를 반환

(문자열) 을 MyObject 오 = (문자열) NullObject의 경우에 따라서

의 경우에 객체를 할당 캐스트;

그러나 o를 사용하여 속성에 액세스하면 NullReferenceException가 발생합니다.

http://maniish.wordpress.com/2007/10/08/difference-between-tostring-vs-converttostring-vs-string-cast/

15

기본적으로 모두 문자열로 값을 변환하는 데 사용되지만 그들 사이의 기본적인 차이가 있습니다 : 우리는 NULL 개체가있을 때

, Convert.ToString(Object);Object.ToString(); 반면 NULL 값을 처리하지 않습니다 처리는 NULL 값은 NULL 참조 예외를 발생시킵니다.

7

먼저 Object.ToString()은 기본 클래스 Object의 가상 함수입니다. 모든 클래스는 자체 구현을 제공하기 위해 ToString()을 재정의 할 수 있습니다. Convert.ToString()은 많은 다른 인수를 가져 와서 의미있는 문자열로 변환하려고 시도하는 정적 메서드입니다. 또한 Object.ToString()을 호출하는 객체가 null 인 경우 Object.ToString()이 실패합니다.

또한 Object.ToString()은 항상 개체를 예상 한 문자열 형식으로 변환하지 않습니다. 예를 들어 기본 함수 Object.ToString()은 항상 개체의 정규화 된 형식 이름을 반환합니다. 모든 클래스는 ToString()을 구현할 수 있지만, 이것이 반드시 의미있는 것일 필요는 없습니다.

1

Convert.ToString과 .Tostring간에 기본적인 차이점이 있습니다. Convert.ToString은 Null 예외를 처리하지만 .Tostring은 오류를 throw합니다.

관련 문제