続いて、Selectメソッドです。
このメソッドは、特定の条件に合致する行を抽出する際に利用します。
たまに使うこともあるので、一応メモです。
しかし、このSelectメソッドはDataTableの行数が多い場合には
少し遅いので、あまり乱用は禁物です。とはいえ、SQLでデータを
一気にとってしまって、その後目的のデータ分を抽出したりする際
にはなにかと便利です。
抽出条件に指定できる書式は、DataColumnのExpressionプロパティで
指定できるものと同じです。
尚、戻り値はDataTableではなく、DataRowの配列となります。
以下、サンプルです。
#region DataTableSamples-02
public class DataTableSamples02 : IExecutable {
public void Execute() {
DataTable table = new DataTable();
table.Columns.Add("Val", typeof(int));
for(int i = 0; i < 10; i++) {
table.LoadDataRow(new object{i}, true);
}
//
// Selectメソッドで行を抽出.
//
DataRow selectedRows = table.Select("(Val % 2) = 0", "Val");
selectedRows.ToList().ForEach((row) => { Console.WriteLine(row["Val"]); });
}
}
#endregion