c# – 迭代行时获取下一行的值
发布时间:2020-12-15 23:33:46 所属栏目:百科 来源:网络整理
导读:myClass结构: public class myClass { public string Name { get; set; } public string AdditionalData { get; set; } public System.DateTime ActivityTime { get; set; } } 我有一个上面的类列表,所有按活动时间排序说’行为’. 我希望将我的数据转换为
myClass结构:
public class myClass { public string Name { get; set; } public string AdditionalData { get; set; } public System.DateTime ActivityTime { get; set; } } 我有一个上面的类列表,所有按活动时间排序说’行为’. 我希望将我的数据转换为以下类的列表.. public class newClass { public string Name { get; set; } public string AdditionalData { get; set; } public System.DateTime StartTime { get; set; } public System.DateTime EndTime { get; set; } } 这里的StartTime与prev class的ActivityTime具有相同的值,所以我没有问题. 所以我的代码是…… List<newClass> items = new List<newClass>(); foreach (var item in acts) { newClass si = new newClass { Name=item.Name,AdditionalData=item.AdditionalData,StartTime = item.ActivityTime,EndTime = //what do I do here?????? }; items.Add(si); } 任何帮助都是真诚的感谢 解决方法
我有一个比for循环更优雅的解决方案:
List<newClass> output = acts.Select((a,index) => new newClass() { Name = a.Name,AdditionalData = a.AdditionalData,StartTime = a.ActivityTime,EndTime = (index + 1 < acts.Count) ? acts[index + 1].ActivityTime : default(DateTime) }).ToList(); 或者您可以使用for循环而不是foreach: List<newClass> items = new List<newClass>(); // assuming length > 0 int length = (acts.Length % 2 == 0) ? acts.Length : acts.Length - 1; for (int i = 0; i < acts.Length; i++) { newClass si = new newClass { Name=acts[i].Name,AdditionalData=acts[i].AdditionalData,StartTime = acts[i].ActivityTime,EndTime = acts[i+1].ActivityTime }; items.Add(si); } if (length < acts.Length) // handle the last element as you wish (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- React Native在iOS真机运行的错误:Could not connect to de
- c# – Resharper猛拉自己的尾巴;这是第一次还是最后一次?
- reactjs – React Native 0.31:无法获得BatchedBridge错误
- Others-Goldengate 数据同步
- 正则表达式匹配
- 干货!Oracle解密“零丢失”的数据保护
- Jenkins的配置从节点中默认没有Launch agent via Java Web
- React.js 小书 Lesson3 - 前端组件化(二):优化 DOM 操作
- Unity3D(二)用反射、泛型读取XML后动态创建实例并赋值
- Sqlite删除列方法