我有一个VS2008 C# .NET 3.5应用程序,我想创建一个哈希表来存储给定对象的IEnumerable列表。
基本上,它看起来像这样:
这样做是有效的,但我想知道是否有更好的方法从一个IEnumerable源复制到另一个。有什么建议吗?
谢谢, PaulH
基本上,它看起来像这样:
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;
}
}
这样做是有效的,但我想知道是否有更好的方法从一个IEnumerable源复制到另一个。有什么建议吗?
谢谢, PaulH
Create
方法看起来毫无意义;它创建了一个名为c
的空的MyCollection<T>
,对其参数source
的元素进行操作,然后返回仍为空的c
。我会给你一些好处,假设IMyData
有一个Add
方法。 - Domenic