I'd like to interate through an OptionsChains class to identify chains with different strikes or expirations.

In the code, although the chain variable is ennumerable, I cannot apply the MoveNext() method.   I infer there is no mechanism to iterate other than using a for or while operator and count my iterations.    Is this true?

Contranegatively,  I  can identify my chain, for example, In The Money, and then call another .SetFilter with a different  min/max strike and call another .OrderBy...  

I need to evaluate different puts and calls at different strikes and expirations to identify the most optimal collar.

 

Any help is most appreciated, thank you.