我有一些挫折,试图获得排序的自定义对象类型的ArrayList。我想使用LINQ和下面的代码是什么,我有一个测试:排序ArrayList的对象
foreach (classOrder co in orderList)
{
MessageBox.Show("Before: " + co.Feet);
}
//use LINQ to sort my orderList which is an ArrayList of classOrder objects
var sortedList = orderList.OfType<classOrder>().OrderBy(r => r.Feet);
foreach (classOrder co in sortedList)
{
MessageBox.Show("After: " + co.Feet);
}
很明显,因为从底部的foreach输出是一样的顶部,这是不正确
。
,因为它只排序第一个数字。脚是一个字符串,但包含数字。任何帮助表示赞赏。谢谢!
什么类型是“英尺” – 2013-03-11 21:21:24
不应该是相同的(除非收集已经排序)。你能告诉我你的数据吗? – MarcinJuraszek 2013-03-11 21:21:26
我刚刚意识到,它似乎没有工作,因为它只考虑到第一位数字。脚是一个字符串,但包含数字。例如,如果我的脚有10,1,15的物体,它什么都没有做。我只是尝试了20,1,5,它对它进行了排序,但它排序为1,20,5 ......所以它看起来只是看第一个数字,因为它是一个字符串。 – jbright 2013-03-11 21:31:15