我已经尝试过我找到的解决方案,似乎无法让这项工作适合我.
我有一节课:
public class InvokeGetReportRequestListResponse
{
public MarketplaceWebServiceException Error { get; set; }
public bool CallStatus { get; set; }
public List<RequestedReport> Reports { get; set; }
}
public class RequestedReport
{
public String ReportRequestId;
public String ReportType;
public DateTime? StartDate;
public DateTime? EndDate;
public Boolean Scheduled;
public DateTime? SubmittedDate;
public String ReportProcessingStatus;
public String GeneratedReportId;
public DateTime? StartedProcessingDate;
public DateTime? CompletedDate;
}
Run Code Online (Sandbox Code Playgroud)
我打电话给服务:
InvokeGetReportRequestListResponse callResponse = InvokeGetReportRequestList(callRequest);
Run Code Online (Sandbox Code Playgroud)
现在我要排序的Reports列表中callResponse通过CompletedDate
callResponse.Reports.Sort((x, y) => DateTime.Compare(x.CompletedDate, y.CompletedDate));
这会返回一个错误:
Cannot convert lambda expression to type 'System.Collections.Generic.IComparer<WebFeeds.Amazon.API.DataTypes.RequestedReport>' because it is not a delegate type
Run Code Online (Sandbox Code Playgroud)
可以通过以下语句使用 Linq 完成排序。
var Result = callResponse.Report.OrderBy( iItem => iItem.CompletedDate );
Run Code Online (Sandbox Code Playgroud)