AlgoMaster Logo

params Collections

Last Updated: May 17, 2026

7 min read

The params keyword used to mean one thing: "accept a variable number of arguments as an array." C# 13 lifts that restriction. A params parameter can now be any supported collection type, including ReadOnlySpan<T>, IEnumerable<T>, List<T>, and types that opt in via a collection builder. The headline benefit is performance, because params ReadOnlySpan<T> lets the compiler skip the heap allocation that params T[] always paid for.

This lesson assumes you've seen classic params T[] from the methods and arrays chapters. The focus here is what's new in C# 13, how overload resolution behaves when multiple params shapes exist side by side, and which form to reach for in real code.

Premium Content

Subscribe to unlock full access to this content and more premium articles.