请检查我的代码。 我想按日期过滤列表,但此代码不起作用。
List<QueryRow> queryResult = App.StorageRepository.Query("appointments_appointment");
queryResult.Where(item =>
{
var startDate = Convert.ToDateTime(item.Document.GetProperty("startDate"));
if (startDate == date)
return true;
else
return false;
});
答案 0 :(得分:0)
我现在不完全是您的代码所做的事情,但我建议您尝试查看集合中是否有与给定日期匹配的日期(请参阅示例2)。
或者,如果您尝试获取与给定日期匹配的元素,请使用示例1
// example date
DateTime date = new DateTime(2005,4,10);
// data collection
List<QueryRow> queryResult = App.StorageRepository.Query("appointments_appointment");
(示例1 Where())
使用where检查QueryRow的日期等于给定日期。如果确实返回了QueryRow。
IEnumerable<QueryRow> results = queryResult.Where(item => Convert.ToDateTime(item.Document.GetProperty("startDate")) == date)
// loop the result items that matched the search result
foreach (QueryRow result in results)
{
// do something with the row
}
(示例2任何())
检查集合中是否存在给定日期。通过使用any,它将检查是否有任何匹配项目的日期等于给定日期。如果打开,则返回true,否则为false。
bool dateExists = queryResult.Any(item => Convert.ToDateTime(item.Document.GetProperty("startDate")) == date);