在LINQ中按顺序获取对象

时间:2017-04-10 13:53:25

标签: c# linq

我有一个包含代码的列表componentlist,我有一个包含组件的对象productDetailsResponse

List<ComponentCode> listComponents;

public class ComponentCode {   
    public string code{get;set;}
}

现在我想在字符串中分配每个productDetailsResponse.components的productType,但顺序与componentlist

中的顺序相同
public class ProductDetailsResponse{
public Component[] components{get;set;}
}
public class Component {
public string componentCode{get;set;}
public ProductType productType{get;set;}
}

string productTypes = string.Empty;
productTypes += //LINQ

例如,如果listComponents包含

["B"]
["A"]

productDetailsResponse.components包含

["A","Phone"]
["B","TV"]

我的字符串productTypes应包含TVPhone。所以基本上我想以与listComponents

相同的顺序提取信息

是否可以使用LINQ实现此目的?

1 个答案:

答案 0 :(得分:0)

您可以使用Select上的listComponentsproductDetailsResponse检索信息。

类似

listComponents.Select( component => productDetailsResponse.components
   .First( x => x.componentCode==component).productType 
)

最后,您可以使用string.Join将结果连成一个大字符串