Input -> {"rajesh|51|32|asd", "nitin|71|27|asd", "test|11|30|asd"}
output -> {"test|11|30|asd", "rajesh|51|32|asd" ,"nitin|71|27|asd"}
如何使用LINQ对上面的List<string>
进行排序。
您可以使用Regex.Match(inputString, @"d+")
从字符串中获得数字,并使用linq.OrderBy
按此数字排序列表:
List<string> list = new List<string>() { "rajesh|51|32|asd", "nitin|71|27|asd", "test|11|30|asd" };
var result=list.OrderBy(i => Regex.Match(i, @"d+").Value).ToList();
结果:
1=> "test|11|30|asd"
2=>"rajesh|51|32|asd"
3=>"nitin|71|27|asd"
注意:字符串中有两个数字,你没有说要按哪个数字排序。但是结果显示你指的是第一个数字