【c#】datatableから特定の条件の行を取得する方法

C#

下記のようなデータがDataTableに格納されていたとして、”Value”列の値が”2020/01/01″の行を取得し値を参照する方法の紹介です。ID列が1の行と4の行を取得することになります。

DataTaleから特定の行を取得するには、下記のようにSelectメソッドを使います。コンソールアプリケーションで動作をご確認いただけます。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            System.Data.DataTable Table = new System.Data.DataTable();
            Table.Columns.Add("ID", typeof(int));
            Table.Columns.Add("Value", typeof(DateTime));

            Table.Rows.Add(new Object[] { 1, "2020/01/01" });
            Table.Rows.Add(new Object[] { 2, "2020-02-02" });
            Table.Rows.Add(new Object[] { 3, "2021-03-03"});
            Table.Rows.Add(new Object[] { 4, "2020-01-01" });

            System.Data.DataRow[] rows = Table.Select("Value = '2020/01/01'"); ;

            Console.WriteLine("取得結果1行目1列目:" + rows[0].ItemArray[0]);
            Console.WriteLine("取得結果1行目2列目:" + rows[0].ItemArray[1]);
            Console.WriteLine("取得結果2行目1列目:" + rows[1].ItemArray[0]);
            Console.WriteLine("取得結果2行目2列目:" + rows[1].ItemArray[1]);

            Console.Read();
        }
    }
}

Selectメソッドの引数に取得したい条件を指定しています。今回の例の場合、Value列の値が”2020/01/01″の行を取得するので”Value = ‘2020/01/01′”としました。

以上となります。

タイトルとURLをコピーしました