データテーブルの列のインデックスを取得する方法に「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