linq 字母数字组合字符串排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linq 字母数字组合字符串排序相关的知识,希望对你有一定的参考价值。
我在数据库有一个字段的值是这样的,字符串类型
var query= from top in context .Yield
select new SizeDTO()
size= context .size
.ToList();
结果是:2 j11 j11.5 2.5 3 4 k5 b6.5 7 8 9 10
我想对一结果排序,之前我想这样排的
.ToList().OrderBy(c => Convert.ToDouble(c.size_nm.ToString()));转型后排,但是里面有些值有字母,我也想过使用Substring去截取之后转,但是又有纯数字!求大神指导
string[] all = new string[] "a2", "b6", "4", "5", "3", "cc1.1" ;
var v = all.Select(a => new
a,
ints = new string(a.Where(c => char.IsDigit(c) ||
c == '.').ToArray())
).Select(b => new
s = b.a,
i = Convert.ToDouble(b.ints)
).OrderBy(o => o.i).Select(r => r.s);
foreach (var x in v)
Console.WriteLine(x);
Console.ReadLine();
参考技术A static void Main(string[] args)
string[] all = new string[] "a2", "b6", "4", "5", "3", "cc1.1" ;
var v = all.Select(a => new
a,
ints = new string(a.Where(c => char.IsDigit(c) ||
c == '.').ToArray())
).Select(b => new
s = b.a,
i = Convert.ToDouble(b.ints)
).OrderBy(o => o.i).Select(r => r.s);
foreach (var x in v)
Console.WriteLine(x);
Console.ReadLine();
参考技术B 取第一个字母用 编码排序呢?
以上是关于linq 字母数字组合字符串排序的主要内容,如果未能解决你的问题,请参考以下文章