Refactor C# OR statement using Linq How can I write this OR statement better, allowing for growth in number of values?

var isNewFile = (progressID == 10 || progressID == 20 || progressID == 21);


I was thinking of this:

var isNewFile = progressID.Contains (10,20,21)


OR using Linq:

.Select or .Contains

Any thoughts?
For something this simple, I think using the || is fine, however, if you need to use the list of acceptable integers more generally or avoid hard-coding the set in a single expression1, you can use something like this:

var newFileProgressIds = new[] { 10, 20, 21 };

var isNewFile = newFileProgressIds.Contains(progressID);


Or possibly use a HashSet&lt;T&gt;:

var newFileProgressIds = new HashSet&lt;int&gt; { 10, 20, 21 };

var isNewFile = newFileProgressIds.Contains(progressID);


1: Of course, in these examples, the values are still hard coded in one place, but precisely how you generate the list is unimportant.