c#中List泛型先执行Sort后再Find的结果仍然是排序后的结果吗

如题
错了 是FindAll
没人知道么
1L没理解我的意思 执行sort后的泛型在FindAll取得的子泛型是仍然是按照刚刚的sort排序的吗 还是会打乱顺序
回1L 那就是说sort后在find的话形成的新list是按照原list排序吗

是啊,sort会修改底层数组的顺序

回答补充:LZ没理解我的意思,Sort会修改List<T>底层的数组,也就是说调用Sort以后,实际上底层的数组的元素已经变动过,而FindAll方法仅仅是从List<T>底层的数组中依次枚举,此时是排序过的,然后传入谓词中判断,如果true就添加到一个新的List<T>里面

回答补充2:是的
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-19
不是!有可能会打乱的。但是取决于你sort时的方式!

c#中List泛型先执行Sort后再Find的结果仍然是排序后的结果吗
是啊,sort会修改底层数组的顺序 回答补充:LZ没理解我的意思,Sort会修改List<T>底层的数组,也就是说调用Sort以后,实际上底层的数组的元素已经变动过,而FindAll方法仅仅是从List<T>底层的数组中依次枚举,此时是排序过的,然后传入谓词中判断,如果true就添加到一个新的List<T>里面 回答补充2:是...

C# 中的List.Sort()--集合排序方法全面解析
4. **不同容器的排序差异**:虽然这里主要讲解了List的排序,但其他数据结构(如ArrayList)可能有不同的Sort()实现,但原理都围绕着IComparable、IComparer接口和泛型委托。总结,C#的List.Sort()方法通过这些接口和委托,让你能够根据需要对复杂的数据结构进行灵活排序,无论是单一规则还是多规则,都提...

C# 泛型集合类List一些使用总结
跟List比较,他还是有一个优点的,就是他可以存储类型不一样的对象数据,而List泛型集合类,其中T必须是对他存储元素对象的约束,必须一致性!ArrayList存储的对象如果是值类型,那就涉及到装箱操作,这个对程序性能影响很大,所以不到万不得已,还是不要用!而且ArrayList里面存放元素对象类型都不一致,在...

C#的问题,怎么在List集合中筛选数据?
q在就是你要的结果 本回答由提问者推荐 举报| 答案纠错 | 评论 13 12 半分幻の庭師 采纳率:43% 擅长: 软件开发 编程语言 数学 日语 动漫 其他回答 首先new一个新的List集合,然后用for循环,逐条读取现有的List集合中的数据,筛选出符合条件数据添加到新建的List集合中即可。 如: 1 2 3 4 5 6 7 8...

C#中的List集合中可以出现重复值吗
1. List 是 ArrayList 的泛型等效类,使用动态扩展的数组实现 IList 接口。2. List 同时使用相等比较器和排序比较器。相等比较器用于诸如 Contains、IndexOf、LastIndexOf 和 Remove 等方法,而排序比较器用于 BinarySearch 和 Sort 方法。默认情况下,如果 T 实现了 IEquatable 接口,则使用该接口的 ...

C#中List<>怎样作为形参在方法中使用
如果类型 T 实现 IEquatable<(Of <(T>)>) 泛型接口,则相等比较器为该接口的 Equals(T) 方法;否则,默认相等比较器为 Object..::.Equals(Object)。 诸如BinarySearch 和 Sort 这样的方法对列表元素使用排序比较器。类型 T 的默认比较器按如下方式确定。如果类型 T 实现 IComparable<(Of <(T>)>) 泛型接口...

集合类的sort方法采用的什么排序算法
<(T>)>是一种泛型委托。所以,需要编写一个对象排序比较的方法,对List中的元素对象没有特殊的要求,但在比较方法中需要实现 对象比较规则,这个方法实现后,就可以把这方名字作为参数委托给List的Sort方法,Sort方法在排序时会执行这个方法对List中的对象进行比较 需要编写一个对象排序比较的方法,对List...

C#的问题,怎么在List集合中筛选数据?
returnlist.FindAll(delegate(FeeRuleDtoinfo){ if(info.DeliveryType.ToString()==strType){ returntrue;} else{ returnfalse;} });} 方法四、使用List<T>获取数据库表的时候,每次用户操作都重新访问数据库,然后返回List<T>,会严重影响程序运行效率的方式,其实List<T>...

C# 集合 泛型
泛型集合的排序 排序基于比较,要排序,首先要比较。比如有两个数1、2,要对他们排序,首先就要比较这两个数,根据比较结果来排序。如果要比较的是对象,情况就要复杂一点,比如对Person对象进行比较,则既可以按姓名进行比较,也可以按年龄进行比较,这就需要确定比较规则。一个对象可以有多个比较规则,但...

C#中list<byte>是数组类型还是什么别的类型?
是byte字节类型的List<>,是泛型接口,和数组相似。使用的时候用法大同小异:List<byte> l=new List<byte>{};\/\/加数据就 l.Add(字节型数据)...操作比数组要灵活一点

相似回答
大家正在搜