-3

エラーなしで IEnumerable = null を渡すことができるのに、IList=Null はコンパイルされないのはなぜですか?

4

4 に答える 4

1

それは真実ではない。IEnumerable または IList 型の変数を null 参照に設定すると、コンパイルされます。

あなたのコードには間違っている何かがあります。

于 2009-03-09T20:54:50.070 に答える
0

まあ、あなたの正確な質問では、C# は大文字と小文字を区別するためである可能性があります -nullはリテラルですが、Nullそうではありません。実際にコンパイルできるコードを投稿していないことを考えると、言うのは難しいです。

それが実際のコードの問題でない場合は、実際のコードを投稿してください。何がで​​きるかがわかります。

于 2009-03-09T21:03:30.737 に答える
0

これはうまくいきます:

IList<int> Foo() {
    return null;
}
于 2009-03-09T20:56:06.993 に答える
0

言いたいことを正確に知るのは難しい。IEnumerable の null 参照は「エラーなしで渡す」ことができると言います。「渡す」ことは実行時のことですが、IList を使用するとコンパイル エラーが発生するとおっしゃいましたか? それは混乱しているように聞こえます。もう少し情報を提供する必要があります。

于 2009-03-09T20:57:45.133 に答える