Propriedades indexadas em C #?

Eu tenho usado o Visual Basic por um bom tempo e recentemente tomei a decisão de começar a aprender C # como um passo em frente para aprender idiomas mais complexos.

Como parte deste salto, decidi converter alguns dos meus antigos projetos VB manualmente em C #. O problema que estou tendo é com a conversão de uma biblioteca que tinha uma classe usando propriedades com argumentos / índices.

A propriedade seria algo assim em VB:

Friend Property Aproperty(ByVal Index As Integer) As AClass
        Get
            Return Alist.Item(Index)
        End Get
        Set(ByVal value As KeyClass)
            Alist.Item(Index) = value
        End Set
    End Property

Quando usei a propriedade, seria usada assim:

Bclass.Aproperty(5) = new AClass

É esse tipo de coisa que eu quero encontrar em C #, mas não consigo entender a vida de mim apenas como fazer isso, pois parece que C # não pode fazer esse tipo de coisa.

questionAnswers(3)

yourAnswerToTheQuestion