我有一个List的List,它包含一个对象。
List<List<Field>> records;
Field对象包含ID和Value。
我需要使用字段记录的属性对顶级列表进行排序。
排序需要说明,对于每个记录,选择一个使用ID的列表,然后按值对父记录排序。
如果我有2条记录它们会是这样的
List[0] -> List [ID=1 Value="Hello", ID=2 Value="World"]
List[1] -> List [ID=1 Value="It's", ID=2 Value="Me"]
使用ID 1的将选择子列表中的对象,然后对父对象进行排序。例如,如果ID为2,则排序将交换0和1项,因为Me位于World之前。
是否有简单的方法来做到这一点?
谢谢。
下面是您要查找的示例:
使用系统;使用System.Collections.Generic;使用来;
public class Program
{
public static void Main()
{
var structure = new List<List<string>>();
structure.Add(new List<string>() {"Hello", "World"});
structure.Add(new List<string>() {"It's", "Me"});
SortBySubIndex(structure, 0);
SortBySubIndex(structure, 1);
}
public static void SortBySubIndex(List<List<string>> obj, int index)
{
obj = obj.OrderBy(list => list[index]).ToList();
Console.WriteLine("INDEX: " + index);
Console.WriteLine(obj[0][0]);
Console.WriteLine(obj[1][0]);
Console.WriteLine();
}
}