Skip to main content
Source: AL0032UseOrEmptyAnalyzer.cs

Description

Null-coalescing with empty collections is verbose. ANcpLua.Roslyn.Utilities provides the OrEmpty() extension for cleaner null handling.

Bad Code

// Verbose null-coalescing patterns
var items = GetItems() ?? Array.Empty<string>();
var list = GetList() ?? new List<int>();
var enumerable = GetEnumerable() ?? Enumerable.Empty<T>();

Good Code

using ANcpLua.Roslyn.Utilities;

// Clean OrEmpty() extension
var items = GetItems().OrEmpty();
var list = GetList().OrEmpty();
var enumerable = GetEnumerable().OrEmpty();

Properties

  • Category: Usage
  • Severity: Info
  • Enabled by default: True
  • Code fix available: False

Configuration

dotnet_diagnostic.AL0032.severity = suggestion

Notes

  • Works with arrays, lists, and any IEnumerable<T>
  • Returns empty collection of the same type when null
  • Reduces boilerplate in LINQ chains