溫馨提示×

c# datatable排序時如何保證順序

c#
小樊
97
2024-07-17 03:23:44
欄目: 編程語言

在C#中,可以使用DataView對象來對DataTable進行排序,并且保持原始順序。以下是一個示例代碼:

// 創(chuàng)建一個DataTable
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));

// 添加數(shù)據(jù)到DataTable
dt.Rows.Add(1, "Alice");
dt.Rows.Add(2, "Bob");
dt.Rows.Add(3, "Charlie");

// 使用DataView對象對DataTable進行排序
DataView dv = new DataView(dt);
dv.Sort = "Name ASC";

// 遍歷排序后的數(shù)據(jù),并保持原始順序
foreach (DataRowView drv in dv)
{
    int id = (int)drv["ID"];
    string name = (string)drv["Name"];
    
    Console.WriteLine($"ID: {id}, Name: {name}");
}

// 輸出原始順序的數(shù)據(jù)
foreach (DataRow row in dt.Rows)
{
    int id = (int)row["ID"];
    string name = (string)row["Name"];
    
    Console.WriteLine($"ID: {id}, Name: {name}");
}

在上面的示例中,首先創(chuàng)建了一個包含ID和Name列的DataTable,并添加了幾行數(shù)據(jù)。然后使用DataView對象對DataTable按Name列進行升序排序。最后通過遍歷DataView對象和原始DataTable對象,可以看到排序后的數(shù)據(jù)以及保持原始順序的數(shù)據(jù)。

0