Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过考虑每个单元格中元素的前三个字母对列表中的列进行排序_C#_List_Sorting - Fatal编程技术网

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

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

我正在开发一个应用程序,其中有一个我自己定义的类型的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

有没有解决这个问题的好方法?

您可以使用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();

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

您有什么代码来支持您正在尝试执行的操作。。这将驻留在数据表或数据集等中吗。。?或者你的列表中有这个吗?更具体地说,你有什么,你的预期结果应该是什么。。听起来对于查询/存储过程来说是一项不错的工作。您需要哪些代码来支持您正在尝试执行的操作。。这将驻留在数据表或数据集等中吗。。?或者你的列表中有这个吗?更具体地说,你有什么,你的预期结果应该是什么。。听起来对于查询/存储过程来说是一项不错的工作。您需要哪些代码来支持您正在尝试执行的操作。。这将驻留在数据表或数据集等中吗。。?或者你的列表中有这个吗?更具体地说,你有什么,你的预期结果应该是什么。。听起来对于查询/存储过程来说是一项不错的工作。您需要哪些代码来支持您正在尝试执行的操作。。这将驻留在数据表或数据集等中吗。。?或者你的列表中有这个吗?更具体地说,你有什么,你的预期结果应该是什么。。对于查询/存储过程来说,听起来是个不错的工作