- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
前文提及到了一些基础的linq的基础,那么这一节是一些补充.
关于一个orderby的问题.
比如我们输入两个order by.
这里告诉我们多个order by是没有意义的,如果多个那么就是最后一个是有意义的.
这里要使用,不要去记最后一个是有意义的,这会让你的思维混乱,记得用一个orderby就好。用完order by之后就可以用then by了.
这里提及一下原理,前面提及到包装器,为什么生效的是最后一个呢.
通过包装成一个OrderedEnumerable:
然后foreach 前文说过其实是调用GetEnumerator:
那么只要最后一个包装才生效.
这里其实是做了优化的,为什么多个order by 只有一个生效,这是符合现实的.
比如一个是前面男生后面女生 ,前面女生后面男生,那么排序只有一个生效,前面的排序都是无效的.
order by之后,要使用then by,这个then by 就是order by排完序之后的排序.
比如order by前面男生后面女生,那么then by 是按照身高进行排序.
那么就是男生从第低到高,女生从低搞到,这样子的排序.
then by 其实也是OrderedEnumerable.
CreateOrderedEnumerable 值得看一下
看到这个parent,那么应该想到链式结构.
就是通过这种链式结构,完成了这个order by 和 then by。有兴趣可以看一下。数据结构这不就用上了.
有兴趣可以看下。 原理就是上一个排序的时候,如果相等,那么就交给下一个排序进行比较.
张三 26 180
李四 25 180
王哥 27 179
张三 17 175
张三 26 175
orderby(name).thenby(age).thenby(high) 。
比如就是按照name和age 还有high.
那么首先会得到3个数组
张三 李四 王哥 张三 张三
26,25,27,17,26
180,180,179,175,175
那么第一个数组会进行快速排序,当张三 0号 张三 3号相等的时候.
那么就会差第二个数组的0号和3号比较,因为26大17,那么17就排在前面。(order 从小到大) 。
当张三0号和张三4号相等,然后第二个数组的0号和4号也相等,那么就看第三个数组的0号和4号了.
大致就是这个理论了,其实只是做了一次排序.
下一节为groupjoin和selectmany还有匿名匿名类型linq,下下节为linq表达式.
该系列剩余40余篇,c# IL 阅读在汇编系列之后,为重学c#系列的外篇.
最后此篇关于重学c#系列——linq(2)[二十八]的文章就讲到这里了,如果你想了解更多关于重学c#系列——linq(2)[二十八]的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在尝试使用谷歌浏览器的 Trace Event Profiling Tool分析我正在运行的 Node.js 应用程序。选择点样本后,我可以在三种 View 之间进行选择: 自上而下(树) 自上而
对于一个可能是菜鸟的问题,我们深表歉意,但尽管在 SO 上研究了大量教程和其他问题,但仍找不到答案。 我想做的很简单:显示一个包含大量数据库存储字符串的 Android ListView。我所说的“很
我已经开始了一个新元素的工作,并决定给 Foundation 5 一个 bash,看看它是什么样的。在创建带有水平字段的表单时,我在文档中注意到的第一件事是它们使用大量 div 来设置样式。所以我在下
我有一个 Windows 窗体用户控件,其中包含一个使用 BeginInvoke 委托(delegate)调用从单独线程更新的第 3 方图像显示控件。 在繁重的 CPU 负载下,UI 会锁定。当我附加
我有一堆严重依赖dom元素的JS代码。我目前使用的测试解决方案依赖于 Selenium ,但 AFAIK 无法正确评估 js 错误(addScript 错误不会导致您的测试失败,而 getEval 会
我正在制作一款基于滚动 2D map /图 block 的游戏。每个图 block (存储为图 block [21][11] - 每个 map 总共 231 个图 block )最多可以包含 21 个
考虑到以下情况,我是前端初学者: 某个 HTML 页面应该包含一个沉重的图像(例如 - 动画 gif),但我不想强制客户缓慢地等待它完全下载才能享受一个漂亮的页面,而是我更愿意给他看一个轻量级图像(例
我正在设计一个小软件,其中包括: 在互联网上获取资源, 一些用户交互(资源的快速编辑), 一些处理。 我想使用许多资源(它们都列在列表中)来这样做。每个都独立于其他。由于编辑部分很累,我想让用户(可能
我想比较两个理论场景。为了问题的目的,我简化了案例。但基本上它是您典型的生产者消费者场景。 (我关注的是消费者)。 我有一个很大的Queue dataQueue我必须将其传输给多个客户端。 那么让我们
我有一个二元分类问题,标签 0 和 1(少数)存在巨大不平衡。由于测试集带有标签 1 的行太少,因此我将训练测试设置为至少 70-30 或 60-40,因此仍然有重要的观察结果。由于我没有过多地衡量准
我是一名优秀的程序员,十分优秀!