There is no way to get index, since data storing in memory in absolutely different ways for array and dictionary.
When you declare array of any type, you know, that data will be placed in memory cells one after the other. So, index is a shift of memory address.
When you put data in a dictionary, you can't predict the address, that will be used for this item, because it will be placed in specific empty position, which will provide balanced graph for fast search by key. So, you can't manipulate with dictionary data using index.
P.S. I believe, that you can resolve your problem using Linq.