排序一
List<string> strList = new List<string>(new String[] { "1.3", "-1.1", "2", "1", "-2", "2.3", "3.2", "-1"});
想要的排序结果为:
-2, -1.1, -1, 1, 1.3, 2, 2.3, 3.2
排序二
如果里面再增加两个中文的,如何排序???
List<string> strList = new List<string>(new String[] { "1.3", "-1.1", "2", "1", "-2", "2.3", "3.2", "1层", "-1", "2层"});
想要的排序结果为:
-2, -1.1, -1, 1, 1.3, 1层, 2, 2.3, 2层, 3.2
或者
-2, -1.1, -1, 1, 1层, 1.3, 2, 2层, 2.3, 3.2
------解决思路----------------------
这可不好整了。你只能写个方法
取里面的数值。然后再排序
------解决思路----------------------
实现IComparable接口,然后自己定规则.
------解决思路----------------------
正解。

------解决思路----------------------
数字、字母、中文混杂排序很难能够排出你想要的结果来,最好是加个用来排序的int型字段。List的排序方法4楼已经给出了,就不再啰嗦了
------解决思路----------------------
你这个就是先转化成数字,然后orderby一下就可以了啊,负数在前,正数在后,从小到大正序排
list.Select(x=>decimal.Parse(x)).OrderBy(x).Select(x=>x.ToString())
------解决思路----------------------
自己写个吧,起泡法。