Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何对不同时间的数组进行排序?_Arrays_Vb.net_Algorithm_Sorting - Fatal编程技术网

Arrays 如何对不同时间的数组进行排序?

Arrays 如何对不同时间的数组进行排序?,arrays,vb.net,algorithm,sorting,Arrays,Vb.net,Algorithm,Sorting,所以我有一个不同时间段的数组,但是我想把时间从最早的时间段整理到最晚的时间段,但是,我还想删除数组中时间值为12:00am的任何元素 Appointment(0) = #10:45:00 AM# Appointment(1) = #12:00:00 AM# 'My actual has up 80 elements of different timeslots but I'm using 3 elements as an example Appointment(2) = #12:00:00 AM

所以我有一个不同时间段的数组,但是我想把时间从最早的时间段整理到最晚的时间段,但是,我还想删除数组中时间值为12:00am的任何元素

Appointment(0) = #10:45:00 AM#
Appointment(1) = #12:00:00 AM# 'My actual has up 80 elements of different timeslots but I'm using 3 elements as an example
Appointment(2) = #12:00:00 AM#

有人能帮我解决这个问题吗?

如果您使用的是字符串数组,那么使用字符串数组不是一个好主意,只需使用日期时间列表和排序方法即可


Net中没有用于从数组中删除特定项的内容,但可以使用LINQ将其简化:

Dim Appointment = {#10:45#, #12AM#, #12AM#}

Appointment = (From a In Appointment Where a <> #12AM# Order By a).ToArray
更有效的替代方法是使用通用集合,如列表或SortedSet:


这是家庭作业吗?i、 你必须使用数组,还是其他数据结构可以?这是我大学的编程作业,是的,我已经在代码中基于数组构造了主要算法,所以我不能使用任何其他数据结构。你允许使用内置排序吗?是的,但我不确定如何使用该方法所有这些解析内容都是不必要的;上午10:45:00已经是日期文字。所以这只是一种类型,它没有按要求删除12:00 AM。@瑞安编辑删除空白空间的原因,因为我记得格式应该是:07:00:为什么你认为使用一个专门的通用集合,如列表是比LINQ更好的选择?@ JimMISCHEL,我想这是有点主观的,所以我把它变成了高效的。更好的方法是减少LINQ开销,可能减少内存分配,并且对于编程新手来说可能更容易
Dim Appointment = {#10:45#, #12AM#, #12AM#}

Appointment = (From a In Appointment Where a <> #12AM# Order By a).ToArray
Appointment = Appointment.Except({#12AM#}).ToArray
Array.Sort(Appointment)
Dim list = New List(Of Date) From {#10:45#, #12AM#} ' or Dim list = Appointment.ToList
list.Add(#12AM#)

list.RemoveAll(Function(a) a = #12AM#)
list.Sort()