C#中的数据表排序?

C#中的数据表排序?,c#,datatable,C#,Datatable,我想按DataTable的一列对DataTable进行排序,例如Name。虽然我想定义自己的排序方式,例如按文件的长度排序,如何实现这种方法?最简单的方法:添加一个隐藏的数据列,在其中存储文件扩展名并像往常一样对该数据列上的数据表进行排序。最简单的方法:添加一个隐藏的数据列,在其中存储文件扩展名并像往常一样对该数据列上的数据表进行排序。最简单、最可扩展的方法是使用Linq到数据集和Path.GetExtension: var orderedRows = dataTable.AsEnumerabl

我想按DataTable的一列对DataTable进行排序,例如Name。虽然我想定义自己的排序方式,例如按文件的长度排序,如何实现这种方法?

最简单的方法:添加一个隐藏的数据列,在其中存储文件扩展名并像往常一样对该数据列上的数据表进行排序。

最简单的方法:添加一个隐藏的数据列,在其中存储文件扩展名并像往常一样对该数据列上的数据表进行排序。

最简单、最可扩展的方法是使用
Linq到数据集
Path.GetExtension

var orderedRows = dataTable.AsEnumerable()
    .Select(row => new { // create an anoymous type for readability
        row, 
        extension = Path.GetExtension(row.Field<string>("Filename"))  
    })
    .OrderBy(x => x.extension)
    .Select(x => x.row);

最简单和最可扩展的方法是使用
Linq到DataSet
路径。GetExtension

var orderedRows = dataTable.AsEnumerable()
    .Select(row => new { // create an anoymous type for readability
        row, 
        extension = Path.GetExtension(row.Field<string>("Filename"))  
    })
    .OrderBy(x => x.extension)
    .Select(x => x.row);
DataTable结果=dt.AsEnumerable()
.OrderBy(d=>d.Field(“YourFieldName”))
.CopyToDataTable();
数据表结果=dt.AsEnumerable()
.OrderBy(d=>d.Field(“YourFieldName”))
.CopyToDataTable();

?您能详细说明一下吗?你能详细说明一下吗?
DataTable result = dt.AsEnumerable()
                     .OrderBy(d=>d.Field<string>("YourFieldName"))
                     .CopyToDataTable();