我有一个包含两列的相当小的表 - 一个是字符串,一个应该是数字(我知道,表中的所有内容都只是“对象”)。 有没有办法将对象转换为例如Int或Double,以便能够以合理的方式对其进行实际排序?
该表的来源是两个列表。我可以对数字列表进行排序,但数据不再匹配。 其他想法是将列表的内容转换为多维数组并对其进行排序,但我更倾向于直接对该表进行排序。
有人有个主意吗?
答案 0 :(得分:1)
不要使用两个列表,而是合并它们:
public class MyRow { // rename me
public int Element { get; set; }
public int Appearances { get; set; }
}
....
var rows = new List<MyRow>();
for(...) {// loop over the two lists...
rows.Add(new MyRow {
Element =..., Appearances = ... });
}
rows.Sort((x,y) => y.Appearances.CompareTo(x.Appearances));
然后,只需循环并创建单元格,或者(更简单)将rows
设置为表的数据源,并让它自行绑定。