Index is the order an item appears in the list: the first item, second item, third item, etcetera. Key is some value the user sets which is unique across the list and identifies the item in some way. Like a user ID or bar code. The confusion is that in C#, sorted lists have keys. But you can't directly say "SortedList.GetByKey". You have to say SortedList.GetByIndex(IndexOfKey). Which is confusing I admit but....
...here's a picture of a dog with a seashell on its head.