/// <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. python字符串处理方法

    一.combine & duplicate 字符串结合和复制 字符和字符串可以用来相加来组合成一个字符串输出: 字符或字符串复制输出. 二.Extract &Slice 字符串提取和切 ...

  2. GoF23种设计模式之创建型模式之单态模式

    1概述 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 2适用性 1.当类只能有一个实例而且客户可以从一个总所周知的访问点访问它的时候. 2.当这个唯一实例应该是通过子类化可扩展的,并且客户应 ...

  3. Find a path HDU - 5492 (dp)

    Find a path Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  4. C语言中strtod()函数的用法详解

    函数原型: #include <stdlib.h> double strtod(const char *nptr, char **endptr); C语言及C++中的重要函数. 名称含义 ...

  5. James Bach Rapid Test的感受

    前阶段拜读过James大神的快速测试,英文水平有限,阅读起来有点吃力,虽然想亲自参加大神的培训,一直没有机会,不过阿里牛人参加大神的培训,并总结的不错,现在谈谈自己的感想和看法. 进入测试行业不少年了 ...

  6. Python及其常用模块库下载及安装

    一.Python下载:https://www.python.org/downloads/ 二.Python模块下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/ ...

  7. linux学习(二) -- ubuntu下lnmp环境的配置

    亲测的教程,,希望能对大家提供些许帮助,转载请注明出处 ubuntu+nginx+mysql+php7 一.安装Nginx 1.首先添加nginx_signing.key(必须,否则出错) $ wge ...

  8. 第一次接触php

    一.什么是PHP PHP的中文意思:超文本预处理器,英文名字: HyperText Preprocessor. PHP通常有两层含义: (1)PHP是一个编程语言. (2)PHP是处理PHP编程语言的 ...

  9. 12个scp传输文件的命令栗子

    12个scp传输文件的命令栗子 一直在用scp进行简单的远程复制文件的功能,今天无意间看到一篇介绍scp的文章,便想着学习学习并将其翻译了过来.原文戳这里.翻译不对的地方,敬请指正. 另外我最近搭建了 ...

  10. 【Unique Paths】cpp

    题目: A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). ...