C# LINQでDataTableから高速に特定行を検索する方法

LINQを使ってDataTableから特定行を抽出するサンプルコードを紹介します。

.NET Framework 3.5からLINQが実装されましたが、selectメソッドより使い勝手が良いです。

下記のサンプルデータに対して、LINQを実行します。

サンプルデータ

スポンサーリンク

サンプルコード

DataRow[] rows = (
    from row in TBL.AsEnumerable()
    let Age = row.Field<int>("AGE")
    let Salary = row.Field<int>("SALARY")
    where Age > 25 && Salary > 250000
    orderby Age
    select row
).ToArray();

DataTable dtNew = rows.CopyToDataTable();

 

where句に該当するレコードを抽出後、rowsにはEnumerableRowCollection配列で返却されます。CopyToDataTableメソッドを利用してDataTableに変換後、dtNewに格納しています。

スポンサーリンク

SNSでもご購読できます。

コメント

  1. Maillot Manchester City Pas Cher より:

    Hello there I am so grateful I found your blog, I have bookmarked it.
    Maillot Manchester City Pas Cher http://www.maillotdefoot-euro.com/maillot-manchester-city-c-3_22

コメントを残す