You're incrementing the count variable within the loop, and then trying to access the item at the new incremented index without checking whether it's in range. Once the count is out of range, the indexer will throw an IndexOutOfRangeException.
Add a test to the start of each if block to ensure that the index is still in range:
Your solution did not produce an error, but it I still cannot understand why it allowed to process the ENTIRE alphabet in one shot. It would not even allow me to process one(1) special character with producing an error. Can you please explain why this? I simply cannot wrap my thoughts around it.
I looked at my program for two (2) days straight. I looked at it night and day and could not make heads or tails of the problem. At one point I thought I was going to lose my mind. I am not sure I that I understand your explanation completely, but thanks. I really needed some sort of explanation so I put my mind at rest. Thanks.