C#List<List<string>>按某一列排序
时间: 2023-08-21 09:02:46 浏览: 128
要按照列表中的某一列进行排序,可以使用`List.Sort()`方法和自定义的比较器。以下是一个示例代码:
```csharp
// 假设你的列表是这样定义的
List<List<string>> data = new List<List<string>>();
// 定义一个比较器,按照第2列进行排序
class ColumnComparer : IComparer<List<string>>
{
private int columnIndex;
public ColumnComparer(int columnIndex)
{
this.columnIndex = columnIndex;
}
public int Compare(List<string> x, List<string> y)
{
return x[columnIndex].CompareTo(y[columnIndex]);
}
}
// 调用Sort方法进行排序
int sortColumnIndex = 1; // 按照第2列排序
data.Sort(new ColumnComparer(sortColumnIndex));
```
在这个例子中,我们定义了一个名为`ColumnComparer`的类,它实现了`IComparer<List<string>>`接口。通过传入要排序的列索引,`ColumnComparer`类可以比较两个列表的指定列,并返回比较结果。最后,我们调用`List.Sort()`方法,传入自定义的比较器即可完成按指定列排序的操作。
阅读全文