C# 如何从列表中删除项目<;元组<;日期时间,字符串>&燃气轮机;
我正在尝试从具有元组的列表中删除项,其中第一个元组项的日期早于今天的日期 这是我的密码:C# 如何从列表中删除项目<;元组<;日期时间,字符串>&燃气轮机;,c#,linq,list,tuples,C#,Linq,List,Tuples,我正在尝试从具有元组的列表中删除项,其中第一个元组项的日期早于今天的日期 这是我的密码: List<Tuple<DateTime, string>> Events = new List<Tuple<DateTime, string>>(); List Events=new List(); 最好是林克 我这样填写清单: Events.Add(new Tuple<DateTime, string>(date, stringtext)
List<Tuple<DateTime, string>> Events = new List<Tuple<DateTime, string>>();
List Events=new List();
最好是林克
我这样填写清单:
Events.Add(new Tuple<DateTime, string>(date, stringtext));
添加(新元组(日期、字符串文本));
因此,列表中日期在2016年12月20日之前的任何项目。应该删除。第二个元组(字符串)无关紧要。List events=new List();
List<Tuple<DateTime, string>> events = new List<Tuple<DateTime, string>>();
DateTime date = new DateTime(2016, 12, 20);
events = events.Where(x => x.Item1 > date).ToList();
DateTime日期=新的日期时间(2016年12月20日);
events=events.Where(x=>x.Item1>date).ToList();
这将在您的活动中保留日期大于2016年12月20日的项目。如果您确实需要从现有列表中删除这些项目(而不是像另一个解决方案所说的那样创建新列表),以下是代码:
List<Tuple<DateTime, string>> Events = new List<Tuple<DateTime, string>>();
DateTime date = new DateTime(2016, 12, 20);
Events.RemoveAll(x => x.Item1 < date);
List Events=new List();
DateTime日期=新的日期时间(2016年12月20日);
Events.RemoveAll(x=>x.Item1
这使用linq和.ToList()
创建2016年12月20日当天或之后的事件列表,然后将新列表分配给事件变量
events = events.Where(e=>e.Item1 >= new DateTime(2016, 12, 20)).ToList();
您真的要删除之前的项目,还是仅在2016年12月20日之后创建项目的枚举?因为很明显,您不能仅使用linq来删除它们,这将是在枚举时修改列表,这将是不好的。您可以使用linq和.ToList()
创建2016年12月20日之后的事件列表,然后将新列表分配给事件
变量need@KevinTinnemans如果对你有帮助的话,你可以把答案标记为正确是的,我需要在提问后等待15分钟,这是一个更好的方法(未创建其他集合)