如何<string>根据字符串 c# 的最后一个索引之后的字符串对列表进行排序



我希望能够根据字符的lastindex重新排序列表,在这种情况下"&";。

var ListToSort = new List<string> { "Hjgs/dasdf/ada/2toe0685tcr1/Hello_1",
"Hjgs/dasdf/ada/xdt42pj616ao/Yes_1",
"Hjgs/dasdf/ada/7yhzozo2rgu5/Hello_2",
"Hjgs/dasdf/ada/atrejl1rzliq/Yes_2",
"Hjgs/dasdf/ada/bgwq9i8fbsj4/Hello_3",
"Hjgs/dasdf/ada/4rrx4pldbiq1/Zues_1"};

我想根据"的最后一个索引对列表进行排序/"例如,它将比较Yes_1、Hello_2等,预期输出为:


Hjgs/dasdf/ada/2toe0685tcr1/Hello_1
Hjgs/dasdf/ada/7yhzozo2rgu5/Hello_2
Hjgs/dasdf/ada/bgwq9i8fbsj4/Hello_3
Hjgs/dasdf/ada/xdt42pj616ao/Yes_1
Hjgs/dasdf/ada/atrejl1rzliq/Yes_2
Hjgs/dasdf/ada/4rrx4pldbiq1/Zues_1

编辑:来自评论的工作解决方案

ListToSort = ListToSort.OrderBy(x => x.Substring(x.LastIndexOf("/"))).ToList();
using System;
using System.Collections.Generic;
using System.Linq;

public class Program
{
public static void Main()
{
var ListToSort = new List<string> { "Hjgs/dasdf/ada/2toe0685tcr1/Hello_1",
"Hjgs/dasdf/ada/xdt42pj616ao/Yes_1",
"Hjgs/dasdf/ada/7yhzozo2rgu5/Hello_2",
"Hjgs/dasdf/ada/atrejl1rzliq/Yes_2",
"Hjgs/dasdf/ada/bgwq9i8fbsj4/Hello_3",
"Hjgs/dasdf/ada/4rrx4pldbiq1/Zues_1"};

foreach(var item in ListToSort.OrderBy(x => x.Substring(x.LastIndexOf("/"))))
Console.WriteLine(item);
}
}

最新更新