AsEnumerable().Take



我想从数据表中获取第一 n 条记录。

我不想运行我已经知道的循环。

我正在尝试这样做

DataTable dt = dtResult.AsEnumerable().Take(n)

是正确的方法..?

使这个"n个记录"在另一个数据表中的过程是什么..?

是的,这是从数据表中获取前 N 行的正确方法。使用 CopyToDataTable 扩展从查询结果创建新的数据表:

DataTable dt = dtResult.AsEnumerable()
                       .Take(n)
                       .CopyToDataTable();

lazyberezovsky 的答案是正确的,但是如果你想做一些比Take更花哨的事情,也许你想使用 AsQueryable 而不是AsEnumerable因为 IQueryable 界面让你更自由地针对你还没有内存的集合编写表达式。我会说IQueryableIEnumerable更适合与数据库交互。更多信息:IQueryable 和 IEnumerable 有什么区别?

DataTable dt = dtResult.AsQueryable()
                       .Take(n)
                       .CopyToDataTable();

试试这个.CopyToDataTable()

例如
DataTable dt = dtResult.AsEnumerable().Take(5).CopyToDataTable();

最新更新