我想对一个包含数字和字母的数组进行升序排序,这些值作为字符串存储在DB中。
这是我手上的名单
4B
1A
1
1B
2
4C
4
字符串
并希望他们像这样排列,其中数字按字母顺序递增。
1
1A
1B
2
4
4B
4C
型
到目前为止我试过了
allScenes.OrderBy(x => Convert.ToInt32(x.SceneNumber)).ToList()
型
和/或
allScenes.OrderBy(x => Convert.int.parse(x.SceneNumber)).ToList()
型
但因为数字后面的字母,所以两者都不起作用。你知道我该怎么做吗?
4条答案
按热度按时间hzbexzde1#
给定第一个数字始终为个位数的示例数据:
字符串
如果您可能有多位数字,请提供它们以及您希望它们在排序顺序中的位置。
这是对多位数进行排序的一种方法:
型
结果如下:
数据库可能无法将LastIndexOfAny函数转换为类似SQL的函数,因此您可能需要在.OrderBy()之前执行.ToList():
型
ymdaylpp2#
很简单
字符串
qltillow3#
由于值以
string
的形式存储到数据库中,因此您只需写入OrderBy(e=> e)
。下面的代码证明了这一点:
字符串
8cdiaqws4#
我也有一个类似的问题,但有点不同,如下面的例子:
字符串
字母或特殊字符可能在字符串列表中的任何位置,但只需要按数字排序。预期结果:
型