【发布时间】:2017-10-05 14:12:32
【问题描述】:
例如
private string[] oras = { "07:00AM", "07:30AM", "08:00AM", "08:30AM", "09:00AM", "10:00AM", " 10:30AM", "11:00AM", "11:30AM", "12:00PM", "12:30PM", "01:00PM", "01:30PM", "02:00PM", "02:30PM", "03:00PM", "03:30PM", "04:00PM", "04:30PM", "05:00PM", "05:30PM", "06:00PM", "06:30PM", "07:00PM", "07:30PM", "08:00PM" };
我想删除“7:00AM”和“10:30AM”之间的项目
【问题讨论】:
-
最简单的解决方案是从这些时间创建 TImeSpan 对象并使用 linq
-
数组是固定大小的,你不能从中删除元素。您需要创建一个将数组转换为集合的方法,删除指定的值范围并返回一个新数组减去已删除的项目。
-
你能给我一些教程吗先生。非常感谢
-
你的 vales 是字符串。现在,我(人类)可以理解“早上 7:00 到 10:30 之间”的意思,但计算机只看到一个字符串。你必须先告诉计算机你的字符串代表时间,然后我们再接近一点。
-
oras.ToList()然后声明另一个列表,例如var excluded = new List<string> { "07:00AM", "07:30AM", "08:00AM", "08:30AM", "09:00AM", "10:00AM", " 10:30AM" },然后使用oras.Except(excluded).ToArray()(详见stackoverflow.com/questions/8032394/…)。