C# 如何根据另一个列表同步两个列表?

C# 如何根据另一个列表同步两个列表?,c#,.net,C#,.net,dateTimeList、TextList和FilteredLink这三个列表都是类型 第一个列表dateTimeList我按从高到低排序。就像我想的那样。 现在我需要对另外两个列表进行排序,以同步到dateTimeList。 在对日期时间列表进行排序之前,它们是同步的。 但现在在对dateTimeList进行排序之后,我需要将另外两个排序为第一个 我也尝试通过降序到其他两个列表来进行排序,但这不是正确的方法。对于这种类型的排序,您需要将数据合并到一个数据结构(排序之前)。例如,您可以将三个字符

dateTimeList、TextList和FilteredLink这三个列表都是类型

第一个列表dateTimeList我按从高到低排序。就像我想的那样。 现在我需要对另外两个列表进行排序,以同步到dateTimeList。 在对日期时间列表进行排序之前,它们是同步的。 但现在在对dateTimeList进行排序之后,我需要将另外两个排序为第一个


我也尝试通过降序到其他两个列表来进行排序,但这不是正确的方法。

对于这种类型的排序,您需要将数据合并到一个数据结构(排序之前)。例如,您可以将三个字符串列表与
Tuple
合并在一个列表中(但最好为您的业务逻辑创建特定类型)。然后像这样排序:

ListsExtractions.dateTimeList = ListsExtractions.dateTimeList.OrderByDescending(x => x).ToList();
ListsExtractions.TextList = ListsExtractions.TextList.OrderByDescending(x => x).ToList();
FilteredLinks = FilteredLinks.OrderByDescending(x => x).ToList();
编辑:要创建元组列表,您可以使用此选项(例如,您的列表名称为
a
b
c
):

var newData=a.Select((x,index)=>newtuple(x,b[index],c[index])).OrderByDescending(x=>x.Item1.ToList();

你们可以看看dotnetfiddle中的例子,我是这样做的:Tuple Tuple=new Tuple(liststractions.dateTimeList,liststractions.TextList,FilteredLinks);但是现在tulp dosent有任何OrderByDescending属性。我做错了什么?不,你需要创建列表,所以我需要循环列表,并将每个字符串添加到Tulp中?@user3816441,我用创建这个新列表的示例来验证我的答案。
newData.OrderByDescending(item => item.Item1).ToList()
var newData = a.Select((x, index) => new Tuple<string, string, string>(x, b[index], c[index])).OrderByDescending(x => x.Item1).ToList();