gpt4 book ai didi

c# - 从 DateTime 确定的 ObservableCollection 中删除列表项

转载 作者:太空宇宙 更新时间:2023-11-03 10:45:02 24 4
gpt4 key购买 nike

我的应用程序中有一个列表,它是在 MVVM light MainViewModel 中生成的,它的属性是“Daylist”,我也从中得到了一个 _daylist,但我想删除一些比 DateTime 更早的特定列表项。现在。可以这样说:列表给我时间,例如 12:00、15:00、18:00,但现在是 17:00,所以我想从生成的列表中删除所有早于 DateTime.Now 的条目。

这是我用来获取列表的属性:

/// <summary>
/// Sets and gets the DayList property.
/// Changes to that property's value raise the PropertyChanged event.
/// </summary>
public ObservableCollection<List> DayList
{
get
{
return _dayList;
}

set
{
if (_dayList == value)
{
return;
}

RaisePropertyChanging(DayListPropertyName);
_dayList = value;
RaisePropertyChanged(DayListPropertyName);
}
}

我得到一个包含 29 个项目的列表,每个项目都有一个日期时间(“时间”),其中包含日期和时间,例如 21-05-2014 12:00 等等。我只需要一种方法来返回没有已经通过的项目的项目列表。

我只是不知道如何分别访问每个项目并检查其值是否 <= DateTime.Now。在我使用的这个属性中有没有一种简单的方法可以做到这一点?

最佳答案

List<T>数据类型将为您提供一行 DayList.RemoveAll(x => x.Time < DateTime.Now) , 使用 ObservableCollection<T>需要通过一个列表:

foreach (var item in DayList.Where(x => x.Time < DateTime.Now).ToList())
{
DayList.Remove(item);
}

关于c# - 从 DateTime 确定的 ObservableCollection<List> 中删除列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23787552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com