C# 如何对dataset.table[0]进行排序,然后获得前10名?

C# 如何对dataset.table[0]进行排序,然后获得前10名?,c#,visual-studio,datatable,sorting,dataview,C#,Visual Studio,Datatable,Sorting,Dataview,我正在向我的表中添加一个自动递增列(称为“rowNum”),它工作正常,之后我使用以下代码对数据表行进行排序: DataView dv = MyDataSet.Tables[0].DefaultView; dv.Sort = "columnName DESC"; 其中columnName是我的一个列(不是自动递增的列) 现在,问题是: 当我想要获得前10行时,我使用以下代码: dv.RowFilter = "rowNum <= 10"; dv.RowFilter=“rowNum对于这样

我正在向我的表中添加一个自动递增列(称为“rowNum”),它工作正常,之后我使用以下代码对数据表行进行排序:

DataView dv = MyDataSet.Tables[0].DefaultView;
dv.Sort = "columnName DESC";
其中columnName是我的一个列(不是自动递增的列)

现在,问题是: 当我想要获得前10行时,我使用以下代码:

dv.RowFilter = "rowNum <= 10";

dv.RowFilter=“rowNum对于这样的东西,我更喜欢LINQ。相反,我使用System.LINQ并编写:

var rows = MyDataSet.Tables[0].AsEnumerable()
   .OrderByDescending(r => r["columnName"]) 
   .Take(10);
然后只要绑定到“行”

如果AsEnumerable()行中的add.Take(10)不起作用,但如果下面提到的add第二行起作用

var Rows=(来自dt.AsEnumerable()中的行)
orderby行[“CostPerVeteran”]降序
选择行);

dtChart=Rows.Take(10).CopyToDataTable();
thanx非常感谢您的帮助,但您认为这种方法对1000行以上的行是否有效?是的。它至少应该与DataView解决方案一样有效。