草庐IT

C# List.Sort排序

C#中,List.Sort()不仅为我们提供了默认的排序方法,还为我们提供了4种自定义排序的方法,通过默认排序方法,我们无需重写任何Sort()方法的实现代码,就能对单参数类型的List数据进行单一规则的排序,如果通过对这些方法进行改进我们可以轻松做到对多参数、多规则的复杂排序。C# 默认排序方法Sort、Reverse排序Sort,倒序Reverse//默认是元素第一个字母按升序list.Sort();//将List里面元素顺序反转list.Reverse();//从第二个元素开始,反转4个元素//结果list里最后的顺序变成"Ha","Jay","Lily","Tom","Hunter",

C# List.Sort排序

C#中,List.Sort()不仅为我们提供了默认的排序方法,还为我们提供了4种自定义排序的方法,通过默认排序方法,我们无需重写任何Sort()方法的实现代码,就能对单参数类型的List数据进行单一规则的排序,如果通过对这些方法进行改进我们可以轻松做到对多参数、多规则的复杂排序。C# 默认排序方法Sort、Reverse排序Sort,倒序Reverse//默认是元素第一个字母按升序list.Sort();//将List里面元素顺序反转list.Reverse();//从第二个元素开始,反转4个元素//结果list里最后的顺序变成"Ha","Jay","Lily","Tom","Hunter",

leetcode 406. Queue Reconstruction by Height 根据身高重建队列(中等)

一、题目大意标签:贪心https://leetcode.cn/problems/queue-reconstruction-by-height假设有打乱顺序的一群人站成一个队列,数组people表示队列中一些人的属性(不一定按顺序)。每个people[i]=[hi,ki]表示第i个人的身高为hi,前面正好有ki个身高大于或等于hi的人。请你重新构造并返回输入数组 people所表示的队列。返回的队列应该格式化为数组queue,其中queue[j]=[hj,kj]是队列中第j个人的属性(queue[0]是排在队列前面的人)。示例1:输入:people=[[7,0],[4,4],[7,1],[5,0

序列化和反序列化

序列化方式说明二进制序列化器:序列化结果人看不懂,但是序列化后体积小soap序列化器:人能看懂,没啥阅读体验,文件体积比较大xml序列化器:可阅读性好,体积中等序列化为json格式二进制序列化器要序列化的实体必须标记[Serializable]特性,表示可以序列化不想序列化的字段可以标记[NonSerialized]特性实体[Serializable]publicclassPeople{publicintId;publicstringName;publicstringAddress;[NonSerialized]publicstringSex;}序列化Listpeoples=GetPeople

leetcode 406. Queue Reconstruction by Height 根据身高重建队列(中等)

一、题目大意标签:贪心https://leetcode.cn/problems/queue-reconstruction-by-height假设有打乱顺序的一群人站成一个队列,数组people表示队列中一些人的属性(不一定按顺序)。每个people[i]=[hi,ki]表示第i个人的身高为hi,前面正好有ki个身高大于或等于hi的人。请你重新构造并返回输入数组 people所表示的队列。返回的队列应该格式化为数组queue,其中queue[j]=[hj,kj]是队列中第j个人的属性(queue[0]是排在队列前面的人)。示例1:输入:people=[[7,0],[4,4],[7,1],[5,0

序列化和反序列化

序列化方式说明二进制序列化器:序列化结果人看不懂,但是序列化后体积小soap序列化器:人能看懂,没啥阅读体验,文件体积比较大xml序列化器:可阅读性好,体积中等序列化为json格式二进制序列化器要序列化的实体必须标记[Serializable]特性,表示可以序列化不想序列化的字段可以标记[NonSerialized]特性实体[Serializable]publicclassPeople{publicintId;publicstringName;publicstringAddress;[NonSerialized]publicstringSex;}序列化Listpeoples=GetPeople

探索:优雅地实现异步方法的并行执行

接上篇通过一个示例形象地理解C#asyncawait非并行异步、并行异步、并行异步的并发量控制(废话删了)没有语法糖,代码一样写,java8没有语法糖,一样能写出高性能代码。但有了C#asyncawait语法糖,水平一般的普通的业务程序员,哪怕很菜,也能写出高性能高吞吐量的代码。标题我用了"探索"这个词,所以有没有更好的实践?注意:在本文最后补充了最佳实践ElasticSearch的性能下面通过一个es的查询,来展示并行异步代码的实用价值。下面是真实环境中部署的服务的测试截图:379次es查询,仅需0.185秒(当然耗时会有波动,零点几秒都是正常的)。es最怕的是什么?是慢查询,是条件复杂的大

探索:优雅地实现异步方法的并行执行

接上篇通过一个示例形象地理解C#asyncawait非并行异步、并行异步、并行异步的并发量控制(废话删了)没有语法糖,代码一样写,java8没有语法糖,一样能写出高性能代码。但有了C#asyncawait语法糖,水平一般的普通的业务程序员,哪怕很菜,也能写出高性能高吞吐量的代码。标题我用了"探索"这个词,所以有没有更好的实践?注意:在本文最后补充了最佳实践ElasticSearch的性能下面通过一个es的查询,来展示并行异步代码的实用价值。下面是真实环境中部署的服务的测试截图:379次es查询,仅需0.185秒(当然耗时会有波动,零点几秒都是正常的)。es最怕的是什么?是慢查询,是条件复杂的大