/// <summary>
     ///将类似 1 A 、1 B 的数据返回成为 1 A,B 的拼接形式
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
private BookingInShopListDataContract[] GenDistinctList(List<BookingInShopListDataContract> list)
{
//定义实际要返回到界面的aimList
List<BookingInShopListDataContract> aimList = new List<BookingInShopListDataContract>(); string bookingNo = string.Empty;
string repairType = string.Empty; BookingInShopListDataContract cloneDC = new BookingInShopListDataContract();
BookingInShopListDataContract addDC = null; if (list.Count == )
{
return aimList.ToArray();
}
foreach (var item in list)
{
if (string.IsNullOrEmpty(bookingNo))
{
bookingNo = item.BookingNo;
repairType = item.RepairTypeName;
}
else if (bookingNo == item.BookingNo)
{
if (!string.IsNullOrEmpty(item.RepairTypeName))
{
repairType = repairType + "," + item.RepairTypeName;
}
}
else
{
AddNewCloneDC(addDC, cloneDC, bookingNo, repairType, aimList); cloneDC = new BookingInShopListDataContract();
bookingNo = item.BookingNo;
repairType = item.RepairTypeName;
}
addDC = item;
} AddNewCloneDC(addDC, cloneDC, bookingNo, repairType, aimList); return aimList.ToArray();
} private void AddNewCloneDC(BookingInShopListDataContract aAddDC, BookingInShopListDataContract aCloneDC,
string aBookingNo, string aRepairType, List<BookingInShopListDataContract> aAimList)
{
aCloneDC.BookingNo = aBookingNo;
aCloneDC.BookingStatus = aAddDC.BookingStatus;
aCloneDC.OwnerName = aAddDC.OwnerName;
aCloneDC.OwnerPhone = aAddDC.OwnerPhone;
aCloneDC.CarLicenseNo = aAddDC.CarLicenseNo;
aCloneDC.FrameNo = aAddDC.FrameNo;
aCloneDC.BookComeTime = aAddDC.BookComeTime;
aCloneDC.BookEndTime = aAddDC.BookEndTime;
aCloneDC.Receiver = aAddDC.Receiver;
aCloneDC.ReceiverName = aAddDC.ReceiverName;
aCloneDC.OpertatorName = aAddDC.OpertatorName;
aCloneDC.RepairTypeName = aRepairType;
aCloneDC.SolicitType = aAddDC.SolicitType; aAimList.Add(aCloneDC);
}

只用一次循环开销 将类似 1 A 、1 B 的数据返回成为 1 A,B 的拼接形式的更多相关文章

  1. 数组循环:循环多个li 每个li 固定N条数据

    PHP代码: $arr = array(1,2,3,4,5,6,7); $x = 1; $y = 0; foreach($arr as $k => $v){ $data[$y][] = $v; ...

  2. 使用v-for循环写入html内容,每一项的数据的写入

    项目使用vue.js,在写某个dialog页面时,需要循环后台的数据(班级,班级学生名单,已选学生名单,发布时间,截止时间,答案显示等). 遇到的问题:循环绑定的值是相同的,而且改动一个值,其他ite ...

  3. 物联网框架SuperIO 2.2.9和ServerSuperIO 2.1同时更新,更适用于类似西门子s7-200发送多次数据,才能读取数据的情况

    一.解决方案 二.更新内容 1.修改IRunDevice接口,把void Send(io,bytes)改成int Send(io,bytes).2.修改网络控制器,发送数据不直接使用IO实例,改为使用 ...

  4. 从net到java:java快速入门

    学习java那是不可能的,到为什么不学习一下呢.仅为总结.希望自己在不久的将来能书写优美的java程序.加油!奥利给 1.注释 注释的重要性不言而喻,我们不管写什么代码注释必不可少,那么java的注释 ...

  5. iOS面试题及答案

    设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的事情. 1). MVC模式:Model View Control,把模型 视图 控制器 ...

  6. 【2017年最新】iOS面试题及答案

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px "PingFang SC Semibold"; color: #46464 ...

  7. JavaScript 知识点

    JS基础 页面由三部分组成: html:超文本标记语言,负责页面结构 css:层叠样式表,负责页面样式 js:轻量级的脚本语言,负责页面的动效和数据交互 小总结:结构,样式和行为,三者相分离 在htm ...

  8. 【2017年最新】 iOS面试题及答案

    设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的事情. 1). MVC模式:Model View Control,把模型 视图 控制器 ...

  9. Ajax顺序执行

    循环中的Ajax 在前后端分离的项目中,Ajax是连接前后端的枢纽. 需求:有一个需要循环发起n次的请求,但是n次循环传参不同,我并不知道n是多少,并且要求能够保证返回顺序.JSONP用同步锁无效 示 ...

随机推荐

  1. vscode运行C/C++程序及配置

    安装vscdoe,安装tdm-gcc-64编译器,这样可以自动把mingw的目录添加到环境变量中,其实安装其他编译器本版都可以,只要手动添加环境变量即可.平台win10-64位.此文参考了哔哩哔哩的配 ...

  2. IIC简介(转载)

    来自:https://www.cnblogs.com/zalebool/p/4214599.html IIC简介: IIC 即Inter-Integrated Circuit(集成电路总线),这种总线 ...

  3. python os模块进程函数

    Table of Contents 1. 系统进程 2. 举例 2.1. os.fork 2.2. os.exec 和 os.system 2.3. os.wait 3. 总结 系统进程 今天在看&l ...

  4. Redis实现之数据库(一)

    服务器中的数据库 Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构体的db数组中,db数组的每个项都是一个redis.h/redisDb结构体,每个redisD ...

  5. Django基于Pycharm开发之四[关于静态文件的使用,配置以及源码分析](原创)

    对于django静态文件的使用,如果开发过netcore程序的开发人员,可能会比较容易理解django关于静态文件访问的设计原理,个人觉得,这是一个middlerware的设计,但是在django中我 ...

  6. Java -X命令

    C:\Users\Administrator>java -X -Xmixed 混合模式执行 (默认) -Xint 仅解释模式执行 -Xbootclasspath:<用 ; 分隔的目录和 z ...

  7. 通过APP,网页打开手机客户端QQ

    以下内容为转载,原帖子 http://m.blog.csdn.net/blog/qduningning/40587099 在浏览器中可以通过JS代码打开QQ并弹出聊天界面,一般作为客服QQ使用.而在移 ...

  8. 微信小程序-----校园头条详细开发之首页

    1.首页展示功能的实现 1.1  结构 1.2 代码实现 1.2.1  界面的设计这里就不多说了,样式都是我自己写的,还有就是页面的跳转,看详细代码 var app = getApp() Page({ ...

  9. Leetcode 643.子数组最大平均数I

    子数组最大平均数I 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数. 示例 1: 输入: [1,12,-5,-6,50,3], k = 4 输出: 12.75 解释: ...

  10. Leetcode 552.学生出勤记录II

    学生出勤记录II 给定一个正整数 n,返回长度为 n 的所有可被视为可奖励的出勤记录的数量. 答案可能非常大,你只需返回结果mod 109 + 7的值. 学生出勤记录是只包含以下三个字符的字符串: ' ...