【发布时间】:2015-12-03 20:53:11
【问题描述】:
我有以下列表,其中每个列表项都有 Start 和 End 值。请注意每个列表项的End 值与下一个列表项的Start 值匹配。
tableItems.Add (new SettingsCellItem() {Start=1000, End=4000});
tableItems.Add (new SettingsCellItem() {Start=4000, End=6000});
tableItems.Add (new SettingsCellItem() {Start=6000, End=8000});
tableItems.Add (new SettingsCellItem() {Start=8000, End=11300});
tableItems.Add (new SettingsCellItem() {Start=11300,End=12000});
只允许用户更新Start 值,当用户输入新的Start 值时,列表应根据Start 值排序,然后再次显示。
假设用户将第二个列表项从 {Start=4000,End=6000} 更新为 {Start=140,End=6000}
List<SettingsCellItem> sortedList =tableItems.OrderBy(o=>o.Start).ToList();
我得到以下输出。如您所见,End 值不再与 Start 值匹配。
电流输出:
{Start=140, End=6000}
{Start=1000, End=4000}
{Start=6000, End=8000}
{Start=8000, End=11300}
{Start=11300,End=12000}
我想知道我怎样才能获得以下信息:
期望的输出
{Start=140, End=1000}
{Start=1000, End=6000}
{Start=6000, End=8000}
{Start=8000, End=11300}
{Start=11300,End=12000}
【问题讨论】:
-
您用于获取“当前输出”的代码是什么?你不能只按“开始”属性排序吗?
-
如果您知道哪个单元格已更新,那么您可以找到移动此单元格的位置,并在移动用户更新的单元格后更新上一个或/和下一个单元格。
-
sortedList是我的当前输出 -
如果单元格的开头是另一个单元格的结尾,是否应该新的用户条目修改其他单元格的开头和结尾以获得所需输出中的链模式?