我有一个供应商列表.我还有一个供应商ID列表.
public List<SAP_Vendor> Vendors { get; set; }
public List<string> SubcontractVendorIDs { get; set; }
Run Code Online (Sandbox Code Playgroud)
我想返回List<SAP_Vendor>其中的ID位于SubcontractVendorIDs列表中的供应商.
List<SAP_Vendor> SubcontractVendors = Vendors.Select(??).ToList();
Run Code Online (Sandbox Code Playgroud)
要么
List<SAP_Vendor> SubcontractVendors = Vendors.Where(??).ToList();
Run Code Online (Sandbox Code Playgroud)
使用谓词中的Contains()方法Where():
List<SAP_Vendor> SubcontractVendors = Vendors.Where(v=> SubcontractVendorIDs.Contains(v.VendorID)).ToList();
Run Code Online (Sandbox Code Playgroud)
您可以执行内部联接:
var query = from vendor in Vendors
join id in SubcontractVendorIDs on vendor.ID equals id
select vendor;
List<SAP_Vendor> subcontractVendors = query.ToList();
Run Code Online (Sandbox Code Playgroud)