当前位置: 首页 > news >正文

山东建设管理局官方网站巨量算数关键词查询

山东建设管理局官方网站,巨量算数关键词查询,网站空间网站虚拟空间,用户体验好的网站场景 Java8新特性-Stream对集合进行操作的常用API: Java8新特性-Stream对集合进行操作的常用API_streamapi操作集合_霸道流氓气质的博客-CSDN博客 上面讲的是在Java中使用Stream中对集合的常用操作。 在C#中Linq是有对应的类似的api。 完整和详细的用法可自行查…

场景

Java8新特性-Stream对集合进行操作的常用API:

Java8新特性-Stream对集合进行操作的常用API_streamapi操作集合_霸道流氓气质的博客-CSDN博客

上面讲的是在Java中使用Stream中对集合的常用操作。

在C#中Linq是有对应的类似的api。

完整和详细的用法可自行查阅文档,下面记录使用过程中的一些非常规操作。

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主

实现

1、Where条件筛选

需要自定义筛选规则,筛选函数需要调用一些三方工具类

                    var keyList = keys.Where(key =>{CarVo car = redis.StringGet<CarVo>(key);PointF point = new PointF(Convert.ToSingle(car.x), Convert.ToSingle(car.y));bool result = GisHelper.isPointInPolygon(point, waitingRoomPoints);return result;});

比如这里是校验坐标是否在指定区域内,用到的GisHelper是工具类,附工具类实现

        public static bool isPointInPolygon(PointF point ,PointF[] points) {GraphicsPath myGraphicsPath = new GraphicsPath();Region myRegion = new Region();myGraphicsPath.Reset();myGraphicsPath.AddPolygon(points);myRegion.MakeEmpty();myRegion.Union(myGraphicsPath);//返回判断点是否在多边形里bool result = myRegion.IsVisible(point);return result;}

2、Select自定义映射规则,实现调用三方方法

模糊搜索到redis中的key的集合,遍历这些key,并映射到key对应的value的集合

                        var carVoList = keyList.Select(key =>{CarVo car = redis.StringGet<CarVo>(key);return car;})

这里用的方法可以参考如下连接redis并存取数据的实现

Winform/Csharp中使用StackExchange.Redis连接Redis存取数据并序列化对象/反序列化(支持redis key 模糊搜索):

Winform/Csharp中使用StackExchange.Redis连接Redis存取数据并序列化对象/反序列化(支持redis key 模糊搜索)_霸道流氓气质的博客-CSDN博客

3、OrderBy自定义排序规则,先按照实体的某个属性,再按照另一个属性

                        var carVoList = keyList.Select(key =>{CarVo car = redis.StringGet<CarVo>(key);return car;})//先按照车辆类型排序.OrderBy(a =>{//人车排在最前面if (a.carType.Equals("1")){return 1;}//指挥车排在第二位else if (a.carType.Equals("3")){return 2;}//其他车辆排在后面else{return 3;}})//其次按照车牌号字段排序.ThenBy(a => a.carNumber);

比如这里从redis中查询到数据之后,解析到对象,并先根据对象的carType进行排序,

如果类型为1则排在最前面,类型是3,排在第二优先级,其他的类型排在后面,然后

在每个类型中再按照车牌号这个字段排序。

这里的return 1,数字越小优先级越高。

4、Select映射时从一个对象,映射到另一个对象,并新增一个递增的序号字段

                int numberIndex = 1;var carVoListWithFixedData = carVoList.Select(carVo =>{ResultVo resultVo = new ResultVo{                     number = numberIndex++,carNumber = carVo.carNumber,};resultVo.team = "测试班组";resultVo.direction = "测试方向";return resultVo;});

5、linq select 左外连接

包含左边的表的所有行,如果右边表中某行没有匹配,该行内容为空NULL。

                            var query = from carVo in resultsjoin mail in mailList on carVo.carNumber equals mail.car_number into result1from result in result1.DefaultIfEmpty()select new ResultVo(carVo.number, carVo.team, carVo.direction, carVo.carNumber, result == default(BusMailList) ? String.Empty : result.driver_name);results = query.ToList();

这里以左边results的结果为主,results有多少条则最终会有多少条。

根据results中每个对象的car_number属性去匹配在mailList中与car_number相等的数据的driver_name属性,如果有则匹配显示,

没有则未空,并将最终结果映射到新的对象。

这里的BusMailList就是mailList的每个对象。

附这里的mailList集合的每个对象BusMailList的类

    public class BusMailList{public long binding_time { get; set; }public string car_number { get; set; }public string driver_name { get; set; }public string driver_number { get; set; }public int id { get; set; }public long update_time { get; set; }}

以及results集合的每个对象ResultVo的类

    class ResultVo{[Description("序号")]public int number { get; set; }[Description("班组")]public string team { get; set; }[Description("方向")]public string direction { get; set; }[Description("车号")]public string carNumber { get; set; }[Description("司机")]public string driver { get; set; }public ResultVo(){}public ResultVo(int _number, string _carNumber, string _driver){number = _number;carNumber = _carNumber;driver = _driver;}public ResultVo(int _number, string _carNumber){number = _number;carNumber = _carNumber;}public ResultVo( string _carNumber, string _driver){          carNumber = _carNumber;driver = _driver;}public ResultVo(int _number,string _team,string _direction,string _carNumber,string _driver){number = _number;team = _team;direction = _direction;carNumber = _carNumber;driver = _driver;}}

http://www.dt0577.cn/news/47681.html

相关文章:

  • 嘉定网站设计制作公司优化大师是什么意思
  • 什么语言做网站简单114啦网址导航官网
  • 做澳洲外贸的网站冯耀宗seo视频教程
  • baby做网站汽车网络营销策略有哪些
  • 装修公司做网站热门关键词网址大全名称
  • 网站的字体做多大合适搜索引擎优化的实验结果分析
  • foxmail网站邮箱爱站网关键词挖掘工具
  • 域名连接到网站北京网站优化策略
  • 做网站免费的app是什么互联网推广与营销
  • 互联网网站 权限电商网站制作
  • 网站续费怎样免费推广自己的网站
  • 网站建设费会计分录网页优化方法
  • 咸宁网站建设网络公司刺激广告
  • 奇搜建设辽沈阳网站网络营销策略名词解释
  • 做诈骗网站犯什么法网络营销的五大特点
  • 网站流量50gseo外包费用
  • asp php jsp网站开发域名在线查询
  • 怀化市建设局网站地址朋友圈广告代理商官网
  • 有人有片资源网什么叫优化
  • 全网营销型网站建设公司2020年可用好用的搜索引擎
  • 网站主机英文成人教育培训机构排名
  • 淘宝培训seo专业培训技术
  • 静态网站分页自己在家做电商
  • seo教程视频青岛seo精灵
  • 馨雨公司网站建设策划方案seop
  • 汉中做网站电话公司市场营销策划方案
  • 网站色彩南宁seo排名收费
  • 做爰电影网站北京seo优化哪家公司好
  • 国家建设部官方网站赵宏彦百度账号中心官网
  • 番禺网站建设服务唐山百度提升优化