データテーブルがあり、LINQ を使用して文字列のリストに対してフィルター処理を行い、各文字列をパイプ ('|') で区切り、2 つの値を含めたいと考えています。文字列のリスト(List Actions)はこんな感じ。このリストには 2 つの文字列しかありませんが、さらに多くの文字列を含めることができます。
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 つのフィールドがあり、上記のリストの各文字列を使用してデータテーブルの 2 つのフィールド (テキストと時間) を比較し、それらの行を省略または削除しています。データテーブルはこのように構成されています
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();
どんな助けでも大歓迎です。
ありがとう