我有一个数据表,我想使用 LINQ 过滤字符串列表,每个字符串使用管道 ('|') 分隔,并包含两个值。字符串列表(List Actions)如下所示。这只是这个列表中的两个字符串,但它可以有更多。
8/1/2013 9:57:52 PM|Login for bill.lock@cap.com
8/1/2013 9:57:37 PM|Login for bill.lock@cap.com
数据表每行有五 (5) 个字段,我使用上面列表中的每个字符串来比较数据表中的两个字段(文本和时间)以省略或删除这些行。数据表的结构是这样的
DataTable stdTable = new DataTable("Actions");
DataColumn col1 = new DataColumn("Area");
DataColumn col2 = new DataColumn("Action");
DataColumn col3 = new DataColumn("Time");
DataColumn col4 = new DataColumn("Text");
目前我正在手动执行所有这些操作,但我知道只需几行代码就可以在 LINQ 中完成。我不确定如何遍历列表并使用拆分。我看到了这个例子,但分裂超出了我的范围。
// Get all checked id's.
var ids = chkGodownlst.Items.OfType<ListItem>()
.Where(cBox => cBox.Selected)
.Select(cBox => cBox.Value)
.ToList();
// Now get all the rows that has a CountryID in the selected id's list.
var a = dt.AsEnumerable().Where(r =>
ids.Any(id => id == r.Field<int>("CountryID"))
);
// Create a new table.
DataTable newTable = a.CopyToDataTable();
任何帮助,将不胜感激。
谢谢