我有一个字符串列表,这些字符串包含数字和单词。
我想要做的是按数字顺序(数值顺序)排序,然后按单词顺序(字母顺序)排序。
我的列表不包含两者混合...这里是一个例子
1, 5, 500 , LT, RT, 400 -> LINQ -> 1, 5, 400, 500, LT, RT
这是我拥有的一个示例,它可以工作,但我想知道是否有更好的编写方法?
感谢您的帮助!
我想要做的是按数字顺序(数值顺序)排序,然后按单词顺序(字母顺序)排序。
我的列表不包含两者混合...这里是一个例子
1, 5, 500 , LT, RT, 400 -> LINQ -> 1, 5, 400, 500, LT, RT
这是我拥有的一个示例,它可以工作,但我想知道是否有更好的编写方法?
int results = 0;
// Grabs all voltages
var voltage = ActiveRecordLinq.AsQueryable<Equipment>()
.OrderBy(x => x.Voltage)
.Select(x => x.Voltage)
.Distinct()
.ToList();
// Order by numeric
var numberVoltage = voltage
.Where( x => int.TryParse(x, out results))
.OrderBy( x => Convert.ToInt32(x));
// Then by alpha
var letterVoltage = voltage
.Where(x=> !String.IsNullOrEmpty(x))
.Where(x => !int.TryParse(x, out results))
.OrderBy(x => x);
return numberVoltage.Union(letterVoltage)
感谢您的帮助!