我有这样的DTO:
public class OrderDraft
{
public string FTPUser { get; set; }
public string AccountRef { get; set; }
public string SupplyFromWarehouse { get; set; }
public string UsePriceband { get; set; }
public string DocumentDate { get; set; }
public string DateRequested { get; set; }
public string DatePromised { get; set; }
public string CustomerDocumentNo { get; set; }
public List<Line> Lines { get; set; }
public Address DeliveryAddress { get; set; }
public string ShippingChargeCode { get; set; }
public decimal ShippingFee { get; set; }
}
我像这样创建了上面的字典:
Dictionary<string, OrderDraft> multiOrders
= new Dictionary<string, OrderDraft>();
现在我想从上面的List<OrderDraft>
词典中返回multiOrders
。为此,我尝试了以下方法:
return multiOrders.SelectMany(s => s.Value);
return multiOrders.SelectMany(s => s.Value).ToList<OrderDraft>;
我收到以下错误:
错误2方法的类型参数 “System.Linq.Enumerable.SelectMany(System.Collections.Generic.IEnumerable, System.Func&GT)” 无法从使用中推断出来。尝试指定类型参数 明确。
知道如何从List<T>
Dictionary<String, T>
答案 0 :(得分:6)
怎么样:
multiOrders.Values.ToList()
答案 1 :(得分:0)
@nvoigt解决方案已经死了,但您也可以通过明确声明类型参数来处理警告:
return multiOrders.SelectMany<OrderDraft,OrderDraft>(s => s.Value).ToList<OrderDraft>;