2013-01-10 78 views
2

我已加入,它返回三重对象的列表。我能以某种方式投射到这个物体的清单吗?强制转换为加入对象

var result = entities.Join(...).Join(...).Join(.. new {a=a, b=b, c=c}).ToList(); 
//how to cast like: 
var multipleList = (List<{ObjectA, ObjectB, ObjectC}>)result; 
+0

是不是 '结果' 正是这样? –

+0

好的,什么是类型'列表<{ObjectA,ObjectB,ObjectC}>'? –

+0

是你的工作? –

回答

2
var multipleList = 
    result.SelectMany(x => new object[] { x.a, x.b, x.c }) 
      .ToList(); 
1

你可以像这样,创建的元组

var data = (from e in entities 
      ///code to join entities... 
      select new Tuple<ClassA, ClassB, ClassC> 
       (
        e1,//enitry of ClassA 
        e2,//enitry of ClassB 
        e3//enitry of ClassC 
       )).ToList(); 

阅读列表有关的元组在这里:Tuple Type in C#4.0

+1

您也可以使用静态的'Create <,,>'方法,而不是'new Tuple (...)',就像这样:'Tuple.Create(...)'。好处是可以省略类型参数'',因为编译器在使用通用_method_时可以__提供它们。 –

+0

@JeppeStigNielsen - 嗨,感谢您的信息.... –

相关问题