-1

2行のコードを書きました

1)

int i ;
MessageBox.Show(i.ToString());

2)

string str;
MessageBox.Show(str.ToString());

どの変数も初期化していないため、(1) は返さ0れますが、(2) という例外がスローされます。Object reference not set to an instance of an object

文字列が int の値型であることを理解できない場合、このエラーが表示されます。

4

2 に答える 2

3

....I can't understand that string is value type as int then this error is being occurred.

文字列が値型だと誰が言ったのですか? その参照型と、それを使用する前にその値を指定する必要があります。そうしないと、取得しているエラーが発生します。

int は値型です。初期化しなくても0で初期化されます。

あなたはこれを行うことができます

string str = String.Empty; 

str = SomeFunctionReturningString();

if (!String.IsNullOrEmpty(str)) //cause that function can also return null.
    MessageBox.Show(str);
于 2013-08-24T09:12:43.033 に答える