This package contains a pair of IEnumerable extension methods named WhereNotNull()
. The method skips all null elements from a sequence.
This is useful for projects that have nullable reference types enabled because it converts IEnumerable<T?>
into IEnumerable<T>
.
For nullable reference types:
using Baksteen.Extensions.WhereNotNull;
...
var seq = new string?[] { "one", null, "two", null, null, "three", null, null, null }
var result = seq.WhereNotNull();
// the result is IEnumerable<string> { "one", "two", "three" }
For nullable value types:
using Baksteen.Extensions.WhereNotNull;
...
var seq = new int?[] { 1, null, 2, null, null, 3, null, null, null }
var result = seq.WhereNotNull();
// the result is IEnumerable<int> { 1, 2, 3 }
For more insight on the rationale of this extension, see: