7
Tengo una aplicación VS2008 C# .NET 3.5 donde me gustaría crear una tabla hash de objetos con una lista IEnumerable de esos objetos.llenando un diccionario <> con una fuente IEnumerable <>
Básicamente, se ve así:
public class MyCollection<T> : IEnumerable<T>
where T: IMyData, new()
{
private IDictionary<int, string> collection_ = new Dictionary<int, string>();
// ...
public void Add(T item)
{
collection_.Add(item.ID, item.Text);
}
public static MyCollection<T> Create(IEnumerable<T> source)
{
MyCollection<T> c = new MyCollection<T>();
foreach(T item in source)
{
c.Add(item);
}
return c;
}
}
Esto funciona, pero me pregunto si no hay una mejor manera de copiar de una fuente a otra IEnumerable. ¿Alguna sugerencia?
Gracias, PaulH
Su método 'create' parece sin sentido; crea un 'MyCollection' vacío llamado 'c', hace cosas a los elementos de su parámetro' source', luego devuelve el 'c' todavía vacío. Y te doy el beneficio de la duda suponiendo que 'IMyData' tiene un método 'Agregar'. –
Domenic
@Domenic - Tienes razón. Lo copié tan mal. Lo he corregido Sin embargo, tu respuesta fue lo que estaba buscando. Gracias. – PaulH