2011-09-03 15 views
7

可能性の重複:
variable.ToString() vs. Convert.ToString(variable)C#のConvert.ToString()と.ToString()の違いは?

C#でConvert.ToString()と.ToString()の違いは何ですか?

dataRow[i]をToString()を使用して文字列に変換しようとすると、エラーが発生します。これをどうやって解決するのですか?それらの間の単純だが、重要な違いがあります

+0

dr [0]のタイプは何ですか? –

+0

私が知る限り、 'Tostring()'も 'tostring()'も存在しません。 C#では大文字と小文字が区別されます。あなたは 'ToString'を参照していますか、あるいは他のユーザ定義関数を持っていますか?エラーの原因となるソースコードを表示し、エラーを表示してください。 –

+0

また、 'DbNull'の「問題」(これは' null'ではありません)かもしれません。 'IsNull(col)'を使う必要がある可能性があります。そうしないと、インデックス( '[col]')がIIRCで失敗する可能性があります。いずれにしても、*関連情報を含めてください。「エラーが発生しました。 –

答えて

8

...

のToString()オブジェクトがnullの場合

のでObject.ToStringを()の場合は、それが提起されたオブジェクトがnullの場合に例外を上げますNullReferenceException。

Convert.ToString()nullオブジェクト

(文字列)の場合にString.Emptyをを返すしたがって MyObjectに0 =(文字列)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はエラーをスローします

関連する問題