using System.Collections.Generic;
public static void Main()
var minhaColecao = new MinhaCollection();
minhaColecao.Add(new MeuObjeto { Nome = "A", Valor = 10.0m, Data = DateTime.Now });
minhaColecao.Add(new MeuObjeto { Nome = "B", Valor = 2.0m, Data = DateTime.Now });
minhaColecao.Add(new MeuObjeto { Nome = "C", Valor = 340.5m, Data = DateTime.Now });
var objA = minhaColecao["A"];
Console.WriteLine($"Nome: {objA.Nome} Valor: {objA.Valor} ");
public class MinhaCollection : List<MeuObjeto>
public MeuObjeto this[string nome]
return this.FirstOrDefault(meuObjeto => meuObjeto.Nome == nome);
public string Nome { get; set; }
public decimal Valor { get; set; }
public DateTime Data { get; set; }