拡張メソッドを作成する場合、もちろん、それを呼び出すことができnullます。ただし、インスタンスメソッドの呼び出しとは異なり、nullで呼び出す場合、aをスローする必要はありませんNullReferenceException->手動でチェックしてスローする必要があります。
Linq拡張メソッドの実装について、Any()MicrosoftはArgumentNullException(https://github.com/dotnet/corefx/blob/master/src/System.Linq/src/System/Linq/AnyAll.cs)をスローすることを決定しました。
書かなければならないのはイライラする if( myCollection != null && myCollection.Any() )
このコードのクライアントとして、例えば((int[])null).Any()戻るべきだと期待するのは間違っていますfalseか?
null |> Seq.isEmptythrowsを使用しSystem.ArgumentNullException: Value cannot be nullます。期待されるのは、存在すると予想されるものに対して未定義の値を渡さないことであるため、nullがある場合は例外です。初期化の問題であれば、の代わりに空のシーケンスで開始しnullます。
                null、コレクションを処理するときに戻るべきではなく、そのような場合は空のコレクションを使用する必要があります。
                Anyただ一貫しています。