我似乎无法找到我需要的C#(C#3.0我正在使用Unity3D)集合:
-Command
中进行迭代。pscmd = "PowerShell -Command ""{Get-ScheduledTask -TaskName 'My Task' -CimSession MYLAPTOP}"""
中的LinkedList
(对mergesort,quicksort和radixsort中的任何一个感兴趣)Sort
或List
没有好处) 列表,看起来“几乎是正确的”除了它实际上是一个数组,我不能在向前迭代时随机删除项目。
LinkedList是完美的但是错过了排序能力(对于链表是自然的mergesort,另外稳定,可能需要它是一个稳定的排序,现在不需要)。
最好的选择是发现实际上已经为LinkedList存在.NET排序方法,我不知道它。
如果我有时间自己实现这样的类,我会选择一个使用mergesort和自定义lambda作为比较器进行排序的方法的LinkedList,但似乎.NET中缺少这些东西?
答案 0 :(得分:2)
<强>的LINQ!强>
- 我需要能够像在LinkedList中一样快速地添加和删除项目。
醇>
使用linq collection.RemoveAll(item => {conditions} );
- 我需要多次排序,例如排序列表(对mergesort,quicksort和radixsort中的任何一个感兴趣)
醇>
使用linq .OrderBy(item => item.Field).ThenBy(item => item.OtherField).ThenByDescending(item => item.OmgAnotherField);
- 我需要根据不同的排序函数进行排序,因为我必须根据Name,Surname等不同的字段进行排序(所以 SortedList或SortedDictionary没有好处。)
醇>
见#2