在for循环中,我以动态类型从db接收结果

dynamic {system.collections.generic.List<object>}


我需要将这些结果收集到一个变量中。

我试图定义一个变量

 dynamic results = new List<object>();


然后

 var queryResults = _dbManager.Query(query);
 results = results.Concat(queryResults);


但是我有一个例外:

 System.Collections.Generic.List<object> does non contain a definition for 'Concat'


我找不到解决方案。你该怎么办?谢谢!

最佳答案

问题在于动态类型和扩展方法不能很好地协同工作(请阅读explanation of Eric Lippert on the why)。您必须自己将扩展方法称为静态方法(实际上是):

var l = Enumerable.Concat(results, queryResults);

关于c# - C#动态类型变量的合并/合并,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43394117/

10-11 03:49