Access object programmatically in c#

Let’s say I’ve got two objects that are named Thing1 and Thing2. I would like to, in C# code, be able to loop through these objects and apply the same logic to each. Obviously, the loop logic would have to construct the name on the fly (like “Thing” + x, where x = 1 during the first iteration, x = 2 during the second iteration, etc.). But I haven’t found a way to get this to work.