如何对表格中的数字进行排序?

时间:2013-12-12 11:37:09

标签: c# sorting

我有一个包含两列的相当小的表 - 一个是字符串,一个应该是数字(我知道,表中的所有内容都只是“对象”)。 有没有办法将对象转换为例如Int或Double,以便能够以合理的方式对其进行实际排序?

enter image description here

该表的来源是两个列表。我可以对数字列表进行排序,但数据不再匹配。 其他想法是将列表的内容转换为多维数组并对其进行排序,但我更倾向于直接对该表进行排序。

有人有个主意吗?

1 个答案:

答案 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设置为表的数据源,并让它自行绑定。