CSharp · Console
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
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]
{
get
{
return this.FirstOrDefault(meuObjeto => meuObjeto.Nome == nome);
}
}
}
public class MeuObjeto
{
public string Nome { get; set; }
public decimal Valor { get; set; }
public DateTime Data { get; set; }
}