通过考虑每个单元格中元素的前三个字母对列表中的列进行排序

问题描述:

我正在研究一个应用程序,其中有一个我自己定义的类型的C#列表,它有大约5列和几行数据。特别是我有一个字段类型的字段,通常包含字母数字项。通过考虑每个单元格中元素的前三个字母对列表中的列进行排序

的样本数据

Term  Strike Strategy Volume 
F15   405  STRDL  100 
Z14   375  PUT  1115 
A14   400  STRDL  100 
Z14 vs F15 475/500 CS  200 
A15-Z15  300/375 3WAY (PS) 25 

我想根据期限字段,以数​​量的最高优先级就像在上面的示例清单,14号,15所有项目的前三个字母排序上面的列表中..然后由字母

得到的数据应该是这样的

Term  Strike Strategy Volume 
A14   400  STRDL  100 
Z14   375  PUT  1115  
Z14 vs F15 475/500 CS  200 
A15-Z15  300/375 3WAY (PS) 25 
F15   405  STRDL  100 

是否有解决T A好方法他?

+0

你有什么代码来支持你正在尝试做什么..这将驻留在DataTable或DataSet ..等等..?或者你是否有这样的列表更具体的你有什么和你的预期结果应该是..听起来像一个很好的工作查询/存储过程 – MethodMan 2014-09-18 17:52:13

你可以把它写像这样使用LINQ:

var res = theList.OrderBy(x => int.Parse(x.Term.Substring(1, 2))) 
       .ThenBy(x => x.Term.Substring(0, 1)).ToList(); 

这将返回一个新的排序列表。