我有 2 个实现 IEnumerable
的类的实例界面。我想创建一个新对象并将它们合并为一个。我知道我可以使用 for..each
去做这个。
是否有执行此操作的 linq/lambda 表达式方式?
编辑
public class Messages : IEnumerable, IEnumerable<Message>
{
private List<Message> message = new List<Message>();
//Other methods
}
合并代码
MessagesCombined messagesCombined = new MessagesCombined();
MessagesFirst messagesFirst = GetMessageFirst();
MessagesSecond messagesSecond = GetMessageSecond();
messagesCombined = (Messages)messagesFirst.Concat(messagesSecond); //Throws runtime exception
//异常是
Unable to cast object of type '<ConcatIterator>d__71`1[Blah.Message]' to type 'Blah.Messages'.
最佳答案
我对字节数组有同样的问题。我做了什么来解决我的问题:
col1.Concat(col2).ToArray();
如果你有一个列表:
col1.Concat(col2).ToList();
关于.net - 使用 linq 组合对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2600977/