Rulegeneral

Collection Expressions Rule

**Use `[...]` syntax instead of `new () { ... }`:**

View Source

Collection Expressions

Use [...] syntax instead of new () { ... }:

Examples

// CORRECT
List<string> items = ["one", "two", "three"];
AllSuggestions = ["word1", "word2", "word3"];
MenuItem[] menuItems = [new MenuItem { Title = "File" }, new MenuItem { Title = "Edit" }];

// WRONG
List<string> items = new () { "one", "two", "three" };
AllSuggestions = new () { "word1", "word2", "word3" };
MenuItem[] menuItems = new MenuItem[] { new MenuItem { Title = "File" }, new MenuItem { Title = "Edit" } };

Empty collections

// CORRECT
List<View> views = [];
return [];

// WRONG
List<View> views = new ();
return new List<View>();

Spread operator

// CORRECT
return [.. menuItems];

// WRONG
return menuItems.ToArray();

Why this matters

  • Modern C# 12 syntax
  • More concise and readable
  • Consistent with project style