I have a program that will need to run different methods depending on what I want it to talk to, and I want to know if there is a way to store some sort of method pointer or something of that sort in an array. So I want an array where each element would be something like this:

[Boolean: Do\_this?] [Function\_pointer] [Data to pass to the function]

So basically, I can put this into a for loop and not call each function individually. Another block of code would fill in the Boolean of whether to run this function or not, and then my for loop would go through and run the function with its appropriate data if the Boolean is true.

I know delegates are similar to function pointers, but if that is the answer here, I'm not entirely sure how I would construct what I want to construct.

Is this possible in C#?