填充字典<>与 IEnumerable<>来源

发布于 2024-10-21 01:13:34 字数 727 浏览 1 评论 0 原文

我有一个 VS2008 C# .NET 3.5 应用程序,我想在给定这些对象的 IEnumerable 列表的情况下创建对象的哈希表。

基本上,它看起来像这样:

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 源复制到另一个。有什么建议吗?

谢谢, 保罗·H

I have a VS2008 C# .NET 3.5 application where I would like to create a hashtable of objects given an IEnumerable list of those objects.

Basically, it looks like this:

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

This works, but I wonder if there isn't a better way of copying from one IEnumerable source to another. Any suggestions?

Thanks,
PaulH

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

窗影残 2024-10-28 01:13:34
return source.ToDictionary(item => item.ID, item => item.Text);
return source.ToDictionary(item => item.ID, item => item.Text);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文