簡體   English   中英

如何將數據表中的 x 個數據行插入到列表中?

[英]How to insert x number of datarows from a datatable into a list?

我目前正在使用現有的一段代碼,它可以將指定數據表列中的所有數據行作為整數插入到列表中。 但是,在當前代碼中,我只能添加所有數據行。 我希望能夠插入 x 數量的數據行,我該怎么做?

編碼:

var dt = new DataTable
            {
                Columns = { { "Lastname", typeof(int) }, { "Firstname", typeof(int) } }
            };
            dt.Rows.Add(1, 2);
            dt.Rows.Add(4, 5);
            dt.Rows.Add(7, 4);
            dt.Rows.Add(54, 67);

            List<int> ids = new List<int>();

            foreach (DataRow row in dt.Rows)
                ids.Add((int)row[0]);
            foreach(int e in ids)
                Console.WriteLine(e);
            Console.Read();

此代碼當前將打印出1,4,7,54但如果我只想打印1,4,7怎么辦?

您可以通過使用linq來實現此目的,如下所示:

var result = dt.Rows.Cast<DataRow>().Where(x => x.Field<int>("Lastname") != 54).ToList();

foreach(var r in result)
{
   Console.WriteLine(r.ItemArray[0]); //This will now print out 1, 4, 7
   Console.WriteLine(r.ItemArray[1]); //This will now print out 2, 5, 4
}

不要忘記using System.Linq;

更新:

public List<DataRow> GetDataRowsFromDataTable(int numberOfRows)
{
   //your dt code here
   
   return dt.Rows.Cast<DataRow>().Take(numberOfRows).ToList();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM