7
Ben bu nesnelerin bir IEnumerable listesi verilen nesnelerin bir hashtable oluşturmak istediğiniz bir VS2008 C# .NET 3.5 uygulaması var.Sözlük <> bir IEnumerable <> kaynağı ile doldurma</ a0><a1></ a1>
Temelde, şuna benzer:
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;
}
}
Bu çalışır, ancak başka bir IEnumerable kaynaktan kopyalama daha iyi bir yolu yoktur merak ediyorum. Baska öneri?
sayesinde PaulH
Kişisel 'Create' yöntemi saçma görünüyor; boş bir 'MyCollection' '' isimli '' '' '' '' '' '' '' '' 'parametresinin elemanlarına bir şeyler yapar, sonra hala boş 'c' döndürür. Ve size IMyData'nın bir 'Add' yöntemine sahip olduğunu farz edelim. –
Domenic
@Domenic - Haklısınız. Bunu çok yanlış kopyaladım. Onu düzelttim. Cevabın aradığım şey buydu. Teşekkür ederim. – PaulH