C# 通过考虑每个单元格中元素的前三个字母对列表中的列进行排序
我正在开发一个应用程序,其中有一个我自己定义的类型的C#列表,它有大约5列和几行数据。特别是我有一个字符串类型的列项,它通常包含字母数字项 样本数据C# 通过考虑每个单元格中元素的前三个字母对列表中的列进行排序,c#,list,sorting,C#,List,Sorting,我正在开发一个应用程序,其中有一个我自己定义的类型的C#列表,它有大约5列和几行数据。特别是我有一个字符串类型的列项,它通常包含字母数字项 样本数据 Term Strike Strategy Volume F15 405 STRDL 100 Z14 375 PUT 1115 A14 400 STRDL 100 Z14 vs F15 475/500 CS
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
有没有解决这个问题的好方法?您可以使用linq这样写:
var res = theList.OrderBy(x => int.Parse(x.Term.Substring(1, 2)))
.ThenBy(x => x.Term.Substring(0, 1)).ToList();
这将返回一个新的排序列表。您可以使用linq这样编写它:
var res = theList.OrderBy(x => int.Parse(x.Term.Substring(1, 2)))
.ThenBy(x => x.Term.Substring(0, 1)).ToList();
这将返回一个新的排序列表。您可以使用linq这样编写它:
var res = theList.OrderBy(x => int.Parse(x.Term.Substring(1, 2)))
.ThenBy(x => x.Term.Substring(0, 1)).ToList();
这将返回一个新的排序列表。您可以使用linq这样编写它:
var res = theList.OrderBy(x => int.Parse(x.Term.Substring(1, 2)))
.ThenBy(x => x.Term.Substring(0, 1)).ToList();
这将返回一个新的排序列表。您有什么代码来支持您正在尝试执行的操作。。这将驻留在数据表或数据集等中吗。。?或者你的列表中有这个吗?更具体地说,你有什么,你的预期结果应该是什么。。听起来对于查询/存储过程来说是一项不错的工作。您需要哪些代码来支持您正在尝试执行的操作。。这将驻留在数据表或数据集等中吗。。?或者你的列表中有这个吗?更具体地说,你有什么,你的预期结果应该是什么。。听起来对于查询/存储过程来说是一项不错的工作。您需要哪些代码来支持您正在尝试执行的操作。。这将驻留在数据表或数据集等中吗。。?或者你的列表中有这个吗?更具体地说,你有什么,你的预期结果应该是什么。。听起来对于查询/存储过程来说是一项不错的工作。您需要哪些代码来支持您正在尝试执行的操作。。这将驻留在数据表或数据集等中吗。。?或者你的列表中有这个吗?更具体地说,你有什么,你的预期结果应该是什么。。对于查询/存储过程来说,听起来是个不错的工作