Fun Coding

学んだことを記録していきます!

【C#】データテーブルの列のインデックスを取得する方法(IndexOf)

データテーブルの列のインデックスを取得する方法に「IndexOf」メソッドがあります。
サンプルコードを交えて解説したいと思います。

説明

指定したDataColumnを検索し、インデックス番号を返す。

ポイント

・取得できるインデックス番号は1つ
・指定したDataRowがない場合は-1を返す

コード
using System;
using System.Data;

namespace Sample {
    /// <summary>
    /// メインプログラム
    /// </summary>
    public class Program {
        /// <summary>
        /// テーブルの列のインデックスを取得
        /// </summary>
        static void Main() {
            // テーブルの生成
            var table = new DataTable();

            // テーブルに列を追加
            DataColumn column1 = table.Columns.Add("名前", typeof(string));
            DataColumn column2 = table.Columns.Add("年齢", typeof(int));


            // テーブルの列のインデックスを取得
            int index1 = table.Columns.IndexOf(column1);
            int index2 = table.Columns.IndexOf(column2.ColumnName);
            int index3 = table.Columns.IndexOf("ID");

            Console.WriteLine("インデックス : " + index1);
            Console.WriteLine("インデックス : " + index2);
            Console.WriteLine("インデックス : " + index3);
        }
    }
}
出力
インデックス : 0
インデックス : 1
インデックス : -1