【问题标题】:smart way to fill list object by MessageCollection通过 MessageCollection 填充列表对象的智能方法
【发布时间】:2011-10-19 05:02:25
【问题描述】:

在 C# 上工作。最近我需要填充一个列表。我有一个 MessageCollection 对象。我需要用这个 MessageCollection 对象值填充这个列表。

要填写列表,我使用以下语法:

MessageCollection messages = inbox.SearchParse("SINCE " + currentDate);
List<Message> oMessageList = new List<Message>();

 for (int n = 0; n < messages.Count; n++)
                    {
                       oMessageList .add( messages[n]);
}

上面的语法不能满足我。有什么聪明的方法来填写我的列表吗?我想做这样的事情

oMessageList =messages

显示错误无法将类型“ActiveUp.Net.Mail.MessageCollection”隐式转换为“System.Collections.Generic.List” 提前致谢。

【问题讨论】:

    标签: c# list generics


    【解决方案1】:

    试试

    oMessageList.AddRange(messages);
    

    因为 MessageCollection 是从实现 IList 的 CollectionBase 派生的。

    【讨论】:

    • 上面的语法告诉我 'System.Collections.Generic.List.AddRange(System.Collections.Generic.IEnumerable)' 有一些无效参数
    • 无法从“ActiveUp.Net.Mail.MessageCollection”转换为“System.Collections.Generic.IEnumerable
    • 尝试先调用MessageCollection.CopyTo()获取消息数组,然后调用AddRange()。我不确定是否会有一些性能开销,:)
    • 大卫感谢回复。MessageCollection 没有 CopyTo() 方法
    • 没有 CopyTo() 方法?请查看此链接:msdn.microsoft.com/en-us/library/…
    猜你喜欢
    • 1970-01-01
    • 2019-11-12
    • 2017-04-18
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 2013-04-21
    相关资源
    最近更新 更多