我有以下列表:
propDataAA 4 propDataAB propDataAC
propDataBA 3 propDataBB propDataBC
propDataCA 2 propDataCB propDataCC
propDataDA 1 propDataDB propDataDC
我想将列表更改为:
propDataAA 1 propDataAB propDataAC
propDataBA 2 propDataBB propDataBC
propDataCA 3 propDataCB propDataCC
propDataDA 4 propDataDB propDataDC
我只想反转整数属性,而所有其他数据都停留。实现这一目标的最佳方法是什么?
答案 0 :(得分:4)
最简单的方法是在单独的集合中提取该属性,对该集合进行排序,然后迭代主列表,使用新集合更新属性,如:
var propertyList = yourMainList.Select(r=> r.YourProperty)
.OrderBy(r=> r)
.ToList();
//here both lists count should be same
for(int i = 0; i < yourMainList.Count; i++)
{
yourMainList[i].YourProperty = propertyList[i];
}
答案 1 :(得分:1)
list.ForEach(a => a.property = list.IndexOf(a) + 1);