首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向消息数组添加消息

向消息数组添加消息
EN

Stack Overflow用户
提问于 2014-01-30 15:30:42
回答 1查看 765关注 0票数 0

如果我声明了一个消息数组,并且我也有一个MessageEnumerator,那么如何将枚举数的当前消息添加到数组中呢?

代码语言:javascript
复制
Message[] m = null;
MessageEnumerator me = q.GetMessageEnumerator2();
for (int i = 0; i < 10; i++)
    {
        me.MoveNext();
        Array.Resize(ref m, m.Length + 1);
        m[m.Length - 1] = // the current message?
        me.RemoveCurrent();    
     }

任何建议都很感激

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-30 15:35:30

将消息放入列表,然后将其转换为数组:

代码语言:javascript
复制
List<Message> ml = new List<Message>();

MessageEnumerator me = q.GetMessageEnumerator2();

for (int i = 0; i < 10; i++)
{
    me.MoveNext();
    ml.Add(me.Current);
}

Message[] m = ml.ToArray();

在另一个注意事项上,您不应该在IEnumerable上迭代(使用索引),而应该这样枚举:

代码语言:javascript
复制
List<Message> ml = new List<Message>();

foreach (Message mx in q.GetMessageEnumerator2())
{
    ml.Add(mx);
}

Message[] m = ml.ToArray();

您甚至可以将IEnumerator直接放入一个新的列表中,但是这个列表太紧了,甚至没有意义了:

代码语言:javascript
复制
List<Message> ml = new List<Message>(q.GetMessageEnumerator2());
Message[] m = ml.ToArray();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21460641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档