我有一个数据表,希望将所有名字和姓氏相符的行移动到表格顶部。
public DataTable SortByFirstNameAndLastNameMatch(DataTable table, string firstName, string lastName)
{
DataTable ret = new DataTable();
foreach (DataRow dataRow in table.Rows)
{
if (dataRow["NomArtiste"].ToString().ToLower() == lastName.ToLower() && dataRow["PrenomArtiste"].ToString().ToLower() == firstName.ToLower())
{
ret.ImportRow(dataRow);
}
}
ret.Merge(table);
return RemoveDuplicateRows(ret, "AlbumID");
}
有没有一种方法可以使用linq表达式或比较器来完成此操作,而不必创建新的数据表?
DataTable
上使用.AsEnumerable()
(http://msdn.microsoft.com/en-us/library/system.data.datatableextensions.asenumerable.aspx),那么您可以对其应用所有的 LINQ 排序/过滤/转换等操作。 - David