Collections

CSharp · Console

/Program.cs

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; }
}
;