使用 VB.net 对对象列表进行排序
Sorting a list of objects with VB.net
我是编码新手,虽然我在 Whosebug 上找到了应该解决我的情况的示例,但我很难理解语法,因此无法将示例转换为我的需要。
所以我有一个包含 Outlook MSG 文件的文件夹,我希望按 'Sent date' 顺序处理这些文件。所以我要做的是将它们加载到列表中,然后按日期对它们进行排序。
这可能是一种愚蠢的做法,但我想如果我创建一个 'class' 包含文件名和每条消息的日期,我可以:将它们添加到列表中,对其进行排序然后处理列表。
所以我的 class 看起来像这样:
Class sMSG
Public sFilename As String
Public mDate As Date
End Class
我对列表进行排序的代码(修改自 Whosebug 示例)如下所示:
Dim ordered = From obj In SortedList
OrderBy(obj.mdate Ascending)
SortedList = ordered.ToList()
它生成错误:BC32017: 逗号、')' 或预期的有效表达式延续。
我不熟悉这种编码风格,无法弄清楚哪里出错了。
如有任何帮助,我们将不胜感激,但请用一个彻头彻尾的白痴都能理解的术语来解释,因为这几乎就是我现在的总结!
SortedList = (From obj In SortedList Select obj Order By obj.mDate Ascending).ToList()
'or
SortedList = SortedList.OrderBy(Function(d) d.mDate)
我是编码新手,虽然我在 Whosebug 上找到了应该解决我的情况的示例,但我很难理解语法,因此无法将示例转换为我的需要。
所以我有一个包含 Outlook MSG 文件的文件夹,我希望按 'Sent date' 顺序处理这些文件。所以我要做的是将它们加载到列表中,然后按日期对它们进行排序。
这可能是一种愚蠢的做法,但我想如果我创建一个 'class' 包含文件名和每条消息的日期,我可以:将它们添加到列表中,对其进行排序然后处理列表。
所以我的 class 看起来像这样:
Class sMSG
Public sFilename As String
Public mDate As Date
End Class
我对列表进行排序的代码(修改自 Whosebug 示例)如下所示:
Dim ordered = From obj In SortedList
OrderBy(obj.mdate Ascending)
SortedList = ordered.ToList()
它生成错误:BC32017: 逗号、')' 或预期的有效表达式延续。
我不熟悉这种编码风格,无法弄清楚哪里出错了。
如有任何帮助,我们将不胜感激,但请用一个彻头彻尾的白痴都能理解的术语来解释,因为这几乎就是我现在的总结!
SortedList = (From obj In SortedList Select obj Order By obj.mDate Ascending).ToList()
'or
SortedList = SortedList.OrderBy(Function(d) d.mDate)