Estaba tratando de usar Enumerable.SequenceEqual(x,y)
como esperaba que funcione según el método Object.Equals(x,y)
, que devuelve falso si x o y es nulo, y verdadero si ambos son nulos (para casos nulos).¿Por qué Enumerable.SequenceEqual arroja una excepción si algún parámetro es nulo?
Sin embargo, Enumerable.SequenceEqual(x,y)
arroja una excepción si algún parámetro es una referencia nula y no devolverá verdadero si recibe dos valores nulos.
En mi código compruebo la igualdad de cobro con bastante frecuencia, así que creé un método que imita el comportamiento Object.Equals
para secuencias, pero me pregunto cuál es la lógica detrás de dicho comportamiento predeterminado, ¿existe quizás un método existente sin excepciones en nulos?
Bueno, el hecho de que el primer parámetro sea 'null' arroja una excepción, tiene sentido, ya que es un método de extensión. Normalmente se invoca como 'x.SequenceEqual (y)' y así imita 'x.Equals (y)', que también arrojaría si 'x' donde' null'. –